How do I run an AP payment batch and choose ACH vs check vs virtual card?
Batch by payment method and settlement timing, not just due date. ACH settles same- or next-day but is capped (NACHA's same-day limit is $1M/entry) and needs vendor bank details; check is slow and float-prone but needs nothing from the vendor; virtual card is fastest but only works if the vendor accepts card. Some ERPs don't even distinguish ACH from check in their data model.
Part of the accounts payable and invoice processing guide.
| ACH | Same-day or next-day settlement; NACHA's same-day per-entry limit is $1M as of today, three daily settlement windows (1pm/5pm/6pm ET) |
|---|---|
| Check | Slowest — mail time plus bank clearing; no vendor bank details required, easiest to originate |
| Virtual card | Fastest to issue; only works if the vendor's AP department accepts card payments, which not all do |
| A real ERP-level gap | QuickBooks Online's BillPayment API has only two PayType values — Check and CreditCard — so an ACH payment is recorded as PayType: Check, indistinguishable from a paper check at the data level |
| What NACHA prohibits | Splitting a payment above the same-day limit into multiple same-day entries to circumvent it |
Why the method matters as much as the due date
A payment batch organized purely around due dates treats every method as interchangeable, but they settle on genuinely different timelines and have different prerequisites. A check mailed today doesn't reliably land until several business days later, once mail time and bank clearing are both counted — batching a time-sensitive payment as a check risks missing the actual due date even if it's mailed on time. Matching the method to how much lead time is actually available, not just to habit or vendor preference, is what keeps a batch from creating late-payment risk it didn't need to take on.
What ACH actually guarantees, and what it doesn't
Same Day ACH settles within the day if originated before one of three cutoff windows (1:00pm, 5:00pm, and 6:00pm ET), but it isn't unlimited: NACHA's operating rules currently cap same-day entries at $1 million per payment (a $10 million cap is scheduled to take effect September 17, 2027, but isn't in force yet), and a payment above the same-day limit is automatically processed as next-day settlement instead. NACHA's rules also explicitly prohibit splitting one large payment into multiple same-day entries specifically to dodge the cap — a large vendor payment near or over the threshold needs to be planned as next-day ACH or a different method, not chopped up.
The ERP gap that catches teams off guard
QuickBooks Online's own BillPayment API takes a PayType field with exactly two values: Check or CreditCard. There's no distinct "ACH" PayType — a bill paid via ACH is recorded with PayType: Check, the same value used for an actual paper check, distinguished (if at all) only by which bank account is referenced, not by the payment type field itself. A report or reconciliation process that assumes PayType alone can answer "how many of our vendor payments went out by ACH versus paper check" will get that answer wrong in QuickBooks, because the data model genuinely doesn't carry that distinction — it has to be tracked separately, such as in a memo field or by convention on which bank account is used for which method.
Why virtual card isn't a universal default
A virtual card can be issued and made available to a vendor almost immediately, faster than either ACH or check origination — but only works at all if that vendor's AP department is set up to accept card payments, which a meaningful share of vendors, especially smaller ones, simply aren't. A batching process that defaults every eligible payment to virtual card without first confirming vendor acceptance ends up bouncing back to ACH or check anyway, after losing the time spent attempting the card payment first.
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 real QuickBooks BillPayment payload — same PayType for two different payment methods
Two bill payments are created through QuickBooks Online's BillPayment API in the same batch, both against the required fields VendorRef, TotalAmt, Line, and PayType. The first is a $3,400 payment actually sent via ACH to the vendor's bank account. The second is a $1,200 payment actually printed and mailed as a paper check. Both payloads carry PayType: "Check" — because QuickBooks Online's BillPayment entity doesn't have an ACH-specific PayType value at all, only Check and CreditCard.
Querying QuickBooks for "all bill payments with PayType Check" returns both the $3,400 ACH payment and the $1,200 mailed check, with nothing in that field to tell them apart. A team that needs to report ACH volume separately from paper check volume — for a bank fee reconciliation, or a fraud-monitoring rule that treats the two differently — has to track that distinction outside QuickBooks's PayType field entirely, typically via which bank account (BankAccountRef) was used, or a separate memo convention, rather than trusting PayType to answer the question.
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 moreHow-to
How do I connect QuickBooks vendor bills to a Loopfour workflow?
Loopfour's QuickBooks integration creates a bill with a single, unconditional API call — there's no upsert-by-document-number the way there is for invoices, so a blind retry after a timeout creates a second bill. Loopfour can also create the vendor first if it doesn't already exist; a bill doesn't require a pre-existing vendor record.
Read moreDiagnostic
How do I build an approval matrix / delegation of authority for AP?
An approval matrix sets dollar-amount thresholds that determine who has to approve an invoice before it's paid — a manager for small amounts, a director or CFO as the amount rises. It's a control activity under COSO's framework, distinct from segregation of duties: the matrix decides who approves, SoD decides why the approver can't also be the one releasing payment.
Read moreDiagnostic
How do I reconcile a vendor statement against my AP ledger?
Compare the vendor's list of open invoices against your own AP ledger for that vendor, item by item, not just by total balance. Most gaps are timing — an invoice the vendor issued but you haven't received or entered yet, or a payment you've sent that the vendor hasn't applied yet — not a real dispute, and matching totals alone can hide two offsetting timing gaps that shouldn't have offset.
Read more