Bank and check payments
Bank (ACH) and check payments are the main bank-based ways restaurants pay invoices. A bank payment clears over 1–3 business days; a check over 3–5. A bank payment made from the pay link carries a fee that the supplier bears; a check has none. The supplier can see each payment's status and when to expect the money.
ACH (Automatic Clearing House / Bank transfer)
How it works
Initiated: The restaurant pays from the invoice's pay link or statement page by choosing Pay with ACH, then entering their bank account number and routing number. Stripe takes the request immediately and Clipp records the payment with status Processing. The invoice reads Processing too.
Clearing: The bank takes 1–3 business days to confirm. Stripe tells Clipp when it does.
Settled: Once the bank confirms, the status changes to Paid. Clipp then books the payment as income, dated the day the bank settled it, and books Stripe's reported processing fee as an expense. The customer and the supplier get a second receipt.
Failed: If the bank rejects it (rare; usually insufficient funds or invalid account), the status changes to Failed and the invoice goes back to what its other payments say. Nothing is booked, because nothing was booked while it was in flight. Nobody is told.
What the supplier sees
On the invoice:
| Before submission | After submission (clearing) | After cleared | If rejected |
|---|---|---|---|
| Pay $X with ACH button | Payment Processing title, "Your {amount} payment is being processed..." | Status Paid, payment listed as ACH with mode Online | Invoice back to its earlier status, "ACH payment of $X failed" in the Activity Log |
The supplier can see:
- Payment date (when submitted)
- Amount
- Status (Processing → Paid, or Failed)
- Mode: Online
On the payment list:
- ACH payments show as Online mode (same as card)
- Status shows Processing until cleared
- Once Paid, they're listed with other received payments
Fee
Amount: 0.8% of the payment amount, always borne by the supplier (not charged to the restaurant). For example, a $100.00 payment incurs an $0.80 fee.
When recorded: The fee is recorded as an expense in the supplier's accounting once the payment settles (status changes to Paid). No expense is recorded while the payment is Processing, because the bank might reject it.
Accounting category: Other Expense – Transaction Processing Fees (same category as card fees).
Visible to the restaurant: No. The restaurant sees no fee on the checkout or confirmation.
Supplier recording ACH by hand
Suppliers can also record ACH payments manually (e.g., if a restaurant sends a confirmation email with a transaction ID). In Manage Payments, select Other ACH:
| Field | Notes |
|---|---|
| Method | Other ACH |
| Amount | The amount transferred |
| Date | Defaults to today; can be changed |
| Transaction ID | Optional, max 15 characters. Should be the bank transaction ID or confirmation number for reconciliation. |
When recorded by hand:
- Status is Paid immediately (not Processing)
- Income is booked right away; no fee is recorded in accounting (the supplier handles the bank fee on their own)
- The payment is not linked to Stripe and cannot be refunded through Clipp
- The supplier must reconcile it against their bank statement manually
Recording ACH by hand does not initiate a bank transfer. Use the pay link if you want Stripe to handle the transfer. Use Other ACH only when documenting a transfer the restaurant already sent.
Common statuses
| Status | What it means | What to do |
|---|---|---|
| Processing | Stripe submitted the transfer; the bank is clearing it. | Wait 1–3 business days. Clipp updates it by itself. |
| Paid | The bank confirmed the transfer. Its income and Stripe's fee are now in the books. | Done. The invoice is settled. |
| Failed | The bank rejected the transfer (insufficient funds, invalid account, etc.). | Contact the restaurant and ask them to retry with valid bank details, or request payment by card. Send the invoice again for a new pay link. |
Partial payments
A restaurant pays the whole balance due from the pay link, not part of it, so a bank payment is normally for everything that's owed at that moment. If part of an invoice was already paid, the bank payment is for what's left:
| Before | After ACH submission (Processing) | After cleared |
|---|---|---|
| Invoice owes $1,000; $400 was paid in cash | Invoice reads Processing; the bank payment is for $600; no more can be recorded by hand | Invoice Paid, $0.00 due |
Check
How it works
Mailed: The restaurant mails a physical check to the supplier.
Received: The supplier receives it days later.
Recorded: The supplier records it in Manage Payments under Check, entering the amount and check number (optional but recommended).
Deposited: The supplier deposits it at their bank.
Cleared: The bank clears it 3–5 business days after deposit.
Status: Unlike ACH, Clipp doesn't track clearing automatically. The payment shows Paid from the moment the supplier records it (not Processing). The supplier must trust it will clear.
What the supplier sees
On the invoice:
| Before recording | After recording |
|---|---|
| No payment listed | Payment listed as Check, mode CHEQUE (or Cash if paid in cash), status Paid |
In the payment list or invoice PDF:
- Check (1042) (the check number in brackets)
- Amount and date
- Status: Paid
Fee
Amount: None.
Supplier recording a check
In Manage Payments, select Check:
| Field | Notes |
|---|---|
| Method | Check |
| Amount | The check amount |
| Date | Defaults to today; can be changed to match when the check was received |
| Check Number | Optional, max 15 characters. Recommended for reconciliation. Stored in referenceNumber field. |
When recorded:
- Status is Paid immediately
- No fee is recorded
- The payment is recorded by the supplier's judgment (they trust it will clear)
- No refund pathway through Clipp (refund must be requested from the restaurant, who issues a new check or uses another method)
Returned checks
If a check bounces (rare):
- The supplier's bank rejects it and charges a returned-check fee.
- The supplier must contact the restaurant and ask for a replacement.
- In Clipp, the supplier must manually correct or delete the original check payment (see Editing & deleting payments). This reverts the invoice's balance due.
- Once the replacement arrives and clears, the supplier records it as a new payment.
Reconciliation
After the supplier deposits a check and it clears (3–5 business days), they should reconcile it against their bank statement:
- Verify the check cleared in the bank statement (amount, check number, date)
- Confirm it matches the payment recorded in Clipp (check number and amount)
- If there's a mismatch, correct or delete the Clipp record
No automation happens in Clipp—reconciliation is manual.
Wire transfers
Wire transfers are a manual payment method not explicitly listed in Clipp's UI. Suppliers record them as Other or Other ACH:
| Method | Use case | Notes |
|---|---|---|
| Other ACH | International wire or high-value transfer | Same as ACH by hand; record with wire reference number. |
| Other | Unusual method | A catch-all; supplier enters the description (e.g., "Wire Transfer"). Shows in the customer's invoice PDF as the note. |
Fee: Varies. Wire transfers often have higher bank fees than ACH. The supplier bears these as part of their banking relationship; Clipp does not charge an explicit fee.
Supplier enters:
- Method: Other ACH (for a wire reference to track) or Other (with description)
- Amount
- Date
- Reference / Description (wire confirmation number, or "Wire Transfer" / "International Transfer")
Status: Paid immediately (not Processing). No automatic clearing tracking in Clipp.
Status transitions
ACH (Stripe-initiated from pay link)
PROCESSING (when submitted)
↓
PAID (when bank confirms)
or FAILED (when bank rejects)
A bank payment that needs the customer to confirm small test deposits starts at Pending instead and moves on from there. See Payment statuses.
Check and other hand-recorded
PAID (when supplier records it)
No status changes after recording. The supplier must manually correct or delete if something goes wrong.
Payment history and reporting
Payments show in:
- Invoice page: Manage Payments panel → Records tab
- Customer payment history: All payments by this restaurant with this supplier
- Bookkeeping: For ACH, the income entry and the fee expense are both booked when the bank confirms; for checks and cash, income is booked when the payment is saved
- Sales report → Payment Breakdown: Aggregated by method and date
- Invoice PDF: Lines like "Check (1042)", "ACH", "Cash"
Common scenarios
Scenario 1: Restaurant pays by ACH from the pay link
- Restaurant opens pay link, selects "Pay $500 with ACH"
- Enters bank account and routing number
- Stripe submits the transfer; Clipp records payment with status Processing
- Invoice shows "Payment Processing" and a receipt goes out as "processing". Nothing is booked yet.
- 2 business days later: Bank confirms; status → Paid
- Clipp books the $500.00 income (dated that day) and Stripe's fee as an expense
- Invoice status → Paid, customer and supplier receive a second receipt
Scenario 2: Restaurant sends a check
- Restaurant writes a $500 check and mails it to the supplier
- Supplier receives it 2–3 days later
- Supplier records it in Manage Payments as Check #1234, $500, dated today (or the day received)
- Invoice status → Paid immediately
- Supplier deposits check at their bank
- 3–5 days later: Bank clears it
- Supplier reconciles by checking the bank statement against the Clipp record
Scenario 3: Supplier records ACH by hand (confirmation received)
- Restaurant emails the supplier: "ACH transfer submitted, transaction ID STRIPE-12345, $500"
- Supplier records it in Manage Payments as Other ACH, $500, transaction ID "STRIPE-12345"
- Payment shows Paid immediately
- The supplier gets no receipt email, since they keyed it in themselves. The customer gets one only if Notify customer was ticked.
- Clipp does not track this payment's clearing (the supplier's bank will confirm)
Scenario 4: ACH fails
- Restaurant submits $500 ACH from pay link
- Status shows Processing
- 2 days later: Bank rejects it (invalid account)
- Status → Failed; the invoice goes back to Unpaid, $500 owed. Nothing was booked.
- Nobody is notified. The supplier sees it on the invoice, or in the Activity Log ("ACH payment of $500.00 failed").
- Supplier contacts restaurant: "Your bank transfer failed. Please check your account details or pay by card instead." and sends the invoice again for a fresh pay link
- Restaurant retries or pays another way
Decisions
- ACH clears in the background: No supplier action needed; Clipp watches it. (#2499)
- Checks and hand-recorded ACH show Paid immediately: The supplier records based on trust; they reconcile against their bank statement later. (#2499)
- A bank payment is booked when it clears, dated the day it cleared: Nothing is booked while the bank might still reject it, so a failure needs no reversal. (#2568, ASB-001 to ASB-004)
- ACH fee is recorded only when settled: Clipp doesn't charge the fee upfront because the bank might reject the transfer. Once confirmed, the fee is posted to accounting. (PFP-008)
Specs
ASB-001 to ASB-006 in ach-settlement-booking.feature cover when a bank payment is booked. PFP-008 to PFP-010 in processing-fee-passthrough.feature cover its fee.
Known limitations
- Nobody is told when a bank payment fails, and the pay link it used no longer works.
- A bank payment that settles after the order was cancelled isn't refunded (verify).