GoCardless ACH mandate created but never syncs to client portal (hosted, US/ACH)

Hosted (invoicing.co), US merchant, GoCardless gateway, ACH scheme. Client country US, currency USD.

A GoCardless ACH mandate is created and confirmed successfully on the GoCardless side, but never appears in the client portal. Payment Methods stays empty, the invoice stays unpaid, and no payment is ever submitted against the mandate.

This is related to github issue #10795 but not the same: in that thread the GoCardless flow never rendered at all and the discussion closed unresolved. In my case the flow renders correctly and completes end to end, and the result simply never comes back.

Steps to reproduce

  1. Add the GoCardless gateway, connect via OAuth 2.0 (reports success).
  2. Enable all four payment methods under Settings (Bank Transfer, SEPA Direct Debit, Direct Debit, Instant Bank Pay).
  3. Send an invoice to a US client (country US, currency USD). Open the client portal, View Invoice, Add Payment Method.
  4. The GoCardless hosted flow appears correctly: “Set up your ACH Debit Authorization”, country United States, USD, US address fields, my company logo.
  5. Complete the flow with real name, address, and US routing/account details.
  6. GoCardless confirms: identity verified via Verified Mandates, ACH Debit Authorization set up successfully, email confirmation received.

Expected: the mandate appears under Payment Methods in the client portal and can be used to pay the invoice.

Actual: Payment Methods shows “No results found.” The invoice still shows “To pay with a bank account, first you have to add it as payment method.” No payment is created.

Verified on the GoCardless side

  • Customer shows Active mandate.
  • Mandate detail: scheme ACH, mandate type bank debit, status pending_submission, created by Billing request flow. Payments section shows “No payments found.”
  • Event log shows the full flow completing: billing request Created and Flow created, both attributed to source “App (Invoice Ninja)”, then Customer details collected, Bank details collected, Payer details confirmed, Mandate Created, Billing request Fulfilled.
  • Webhook deliveries to the Invoice Ninja URL all return 200 OK (at least 5 so far).

So Invoice Ninja initiates the billing request, GoCardless completes it, and Invoice Ninja accepts the webhooks without error, but nothing is recorded on the Invoice Ninja side.

Three related observations

  1. GoCardless’s post-signup handoff sends you to https://invoicing.co/gocardless/onboard, which returns 404 Not Found.

  2. The OAuth connection did not register a webhook endpoint in my GoCardless account. API Settings showed no endpoints and no events. I created the endpoint manually using the Webhook URL shown on the gateway’s Payment Provider tab, which is when deliveries started arriving. Should OAuth be registering this automatically?

  3. The Payment Provider tab lists Supported Events as confirmed, failed, fulfilled, paid_out. These are all payment events, with no mandate events. If the payment method sync depends on a mandate-level event, that may be the gap.

One further note: the mandate sits at pending_submission, and GoCardless documents that outside the UK a mandate only becomes active after the first payment is submitted to the customer’s bank. If Invoice Ninja only surfaces active mandates, that would be a deadlock for US ACH specifically: no payment can be created without a stored payment method, and the mandate will not activate without a payment.

Screenshots available for every step above. This is a live GoCardless account, not sandbox. Happy to test a fix.

Hi,

Since you’re on the hosted platform I suggest sending an email to [email protected] to ask.

1 Like