ACH and Annual Billing
Books supports ACH bank transfers and annual billing with automatic discounts. These features help MSPs reduce payment processing costs and improve cash flow predictability.
ACH Payments
Enabling ACH for Clients
ACH payments are processed through Stripe:
- Ensure your Stripe account is connected (see Getting Started)
- When sending an invoice, the client portal payment page offers both card and ACH options
- Clients enter their bank account details and authorize the payment
- Stripe handles bank verification (micro-deposits or instant verification)
ACH Payment Flow
- Client initiates ACH payment through the Portal
- Stripe creates a payment intent with bank transfer method
- Client authorizes the bank debit
- Stripe processes the transfer (typically 3-5 business days)
- Books receives the webhook and records the payment
- GL entry posts: DR Undeposited Funds, CR Accounts Receivable
Settlement Times
| Step | Timeline |
|---|---|
| Payment initiation | Immediate |
| Bank verification (if needed) | 1-2 business days |
| ACH processing | 3-5 business days |
| Funds available in Stripe | After processing completes |
| Stripe payout to your bank | 1-2 business days (standard) |
ℹ️Total time from client payment to funds in your bank account is typically 4-7 business days. This is significantly longer than card payments but processing fees are much lower.
ACH Fees
ACH fees through Stripe are typically lower than credit card fees:
- ACH: ~0.8% (capped at $5 per transaction)
- Credit card: ~2.9% + $0.30 per transaction
For a $5,000 monthly managed services invoice, that's $5 (ACH) vs. $145.30 (card).
💡Encourage larger clients to pay via ACH — the savings add up quickly. Include a note on invoices about the ACH option.
Annual Billing
Setting Up Annual Billing
Annual billing charges clients once per year instead of monthly, with a discount incentive:
- Navigate to Accounts Receivable > Invoices
- Create a new invoice or recurring invoice
- Set the billing period to Annual
- Books automatically applies the 15% annual billing discount
- The invoice shows the monthly rate, annual total, discount amount, and final price
How the Discount Works
- Monthly rate: $1,000/month = $12,000/year
- Annual discount: 15% off = $10,200/year
- Savings for the client: $1,800/year
- Benefit for you: 12 months of guaranteed revenue upfront
The discount percentage is configured at the organization level. The default is 15%.
Proration on Mid-Year Changes
When a client on annual billing upgrades or downgrades mid-year:
- Books calculates the unused portion of the current annual term
- Applies a prorated credit for the remaining months
- Generates a new annual invoice for the upgraded service level
- The credit is applied to the new invoice
Example:
- Client paid $10,200 annually in January (15% off $12,000)
- Upgrades in July (6 months remaining)
- Credit: $5,100 (6/12 of $10,200)
- New annual rate: $15,000 → $12,750 after discount
- Prorated new invoice: $6,375 (6 months of new rate) minus $5,100 credit = $1,275 due
Annual Invoice Generation
For recurring annual invoices:
- Create a recurring invoice with annual frequency
- Set the start date to the client's annual renewal date
- Books auto-generates the invoice 30 days before renewal
- The invoice includes the annual discount automatically
- Optionally auto-send via Relay
Failed ACH Handling
When an ACH payment fails:
Common Failure Reasons
| Reason | Description |
|---|---|
| Insufficient funds | Client's bank account lacks sufficient balance |
| Account closed | Bank account has been closed |
| Authorization revoked | Client revoked the ACH authorization |
| Invalid account | Incorrect routing or account number |
Retry Logic
- Books receives the failure webhook from Stripe
- The payment is marked as failed with the reason
- The invoice reverts to Sent (or Overdue if past due)
- Books can automatically retry the payment after a configurable delay
- After the configured number of retries, the invoice requires manual follow-up
⚠️Failed ACH payments can take 3-5 business days to report. An invoice may show as "processing" during this time. Do not assume payment has succeeded until the status updates to Paid.
Dunning
For repeated payment failures, Books supports a dunning workflow:
- First failure: Automatic retry after 3 days
- Second failure: Email notification to the client with updated payment link
- Third failure: Escalation to your team for manual follow-up
Next Steps
- Payment Recording — All payment methods
- Invoicing — Invoice creation and recurring invoices
- Integrations — Stripe integration details