Skip to content

Payments rail — Yappy + ACH + card-link

PYMES in Panama get paid mostly via Yappy, transferencia, and cheque. The bank-statement parser already lifts Yappy; close the loop so the invoice → notification → receipt is automatic.

Related code: app/graphql/bank_statements/, app/graphql/invoices/, app/graphql/receipts/, app/graphql/payments/.

Items

  • Yappy payment request per invoice — generate QR + deeplink with a unique reference id stamped onto the invoice and the bank-statement match key.
  • Acceptance: customer scans the QR on the PDF, pays via Yappy app, and the receipt auto-creates against that invoice with no human action.
  • Banco General / BAC / Banesco "pagar" deeplinks rendered on invoice PDFs and emails.
  • Acceptance: clicking the link in the email opens the bank's transfer screen pre-filled with our IBAN/account, amount, and reference.
  • Bank-detail block on every invoice PDF with the tenant's bank, account number, account holder, and RUC.
  • Acceptance: pdf_templates/ supports an opt-in bank-detail section that pulls from bank_accounts/ defaults.
  • Credit card payment link via Tilopay / Banistmo POS / Stripe.
  • Acceptance: invoice page surfaces a "Pagar con tarjeta" button; successful charge posts a receipt + bank-fee expense.
  • Auto-reconcile statement → receipt when the transaction reference matches a generated payment request.
  • Acceptance: bank_statements/services/ matcher confidence == 1.0 when the reference matches; receipt is created without user confirmation.
  • "Recordatorio de pago" — one-click send invoice payment links via WhatsApp + email.
  • Acceptance: button on invoice list "Recordar pago" sends both channels with the configured template.

Shipped

None yet.