What breaks when a Sage Intacct AP payment run fails partway through?
A Sage Intacct APPAYMENT run can pay several bills in one call. If a bad record key or a wrong amount on one line makes the whole run error, it's tempting to assume no bills were paid. That assumption is often wrong — the run can fail overall after already applying against some of the valid bills.
Part of the finance integrations guide.
| Symptom | A multi-bill payment run errors out, but some of its bills now show as paid anyway |
|---|---|
| Root cause | One payment-item entry in the run was invalid (bad record key, amount mismatch) while others were valid |
| What's actually true | Sage Intacct's own AP Payments API takes an array of payment items per run — it does not document all-or-nothing atomicity across that array |
| Where to check | The vendor's bill status directly in Sage Intacct, not just the workflow's own success/failure log |
Why a multi-bill payment run is riskier than it looks
The same feature that makes a Sage Intacct AP payment run efficient — covering several bills for one vendor in a single APPAYMENT call — is also what makes a partial failure hard to reason about. Sage Intacct's own developer documentation describes the payment-items array as a list of bill/amount pairs applied within one run, but doesn't document the array as all-or-nothing. A single bad entry (a bill record key that no longer matches, an amount that doesn't match what's actually owed) can cause the overall call to error, without a guarantee that Sage Intacct rolled back whatever it had already applied to the other, valid entries before hitting the bad one.
What a workflow's own error log can't tell you
A workflow that logs "payment run failed" and stops there is reporting the HTTP-level outcome, not the accounting outcome. The two aren't guaranteed to match on a multi-bill run: the call itself returning an error tells you the run wasn't fully successful, not that nothing happened. Treating a failed run as a clean no-op — and simply retrying the whole batch — risks double-paying whichever bills did apply the first time.
How to check what actually happened
After any payment run that errors, pull the current status of every bill that was included in the run directly from Sage Intacct rather than trusting the run's own success flag. Any bill that now shows paid should be removed from the retry batch before resubmitting the rest — retrying the full original batch is exactly the scenario that risks a duplicate payment on the bills that already went through.
Next step
Map the finance workflow with the most exposure and prove the automation path.
Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.
Worked example
A 3-bill payment run where one bad record key strands two good payments
A workflow submits one APPAYMENT run covering three bills for the same vendor: Bill A ($1,200), Bill B ($850), and Bill C ($2,400). Bill C's record key is stale — it was regenerated after a correction to the original bill — so the run errors. The workflow's log shows a single failed call and nothing else. Two weeks later, the vendor calls asking why Bills A and B still show open on their end when Sage Intacct's own bill list shows them paid: the run had, in fact, applied against A and B before erroring on C. The fix going forward: after any payment-run failure, check each covered bill's live status in Sage Intacct before deciding what to retry, and only resubmit the bill (here, just Bill C) that's actually still open.
Frequently Asked Questions
Sources
Related
Topic
AP & Invoice Processing
Accounts payable and invoice processing is the set of steps a vendor bill goes through between arriving at a company and turning into a payment: capturing what the vendor sent, checking it against wha…
Read moreDiagnostic
Why did we pay the same vendor invoice twice?
Almost always one of two things: the vendor exists as two separate records in your vendor master, so a duplicate-invoice-number check that only compares within one vendor ID never sees the second copy — or the invoice was entered twice by different people, because it arrived through two channels and each assumed they had the only copy.
Read moreTopic
Integrations
Every finance automation vendor publishes an integrations page: a grid of logos, a claim of "seamless" connectivity, and not much else. That page answers a marketing question — does this vendor touch…
Read moreHow-to
How do I set up a Sage Intacct AP payment run in Loopfour?
Loopfour's Sage Intacct integration creates payments through the APPAYMENT object, which pays one or more bills in a single run. Map a vendor, a bank or charge-card account, a payment method and date, then supply one payment-item entry per bill with its record key and amount — the same shape Sage Intacct's own legacy AP Payments API expects.
Read more