Why a Stripe deposit never matches your open invoices
Stripe keeps a balance for your account. Every charge adds to it, and every fee, refund, dispute and adjustment takes something away. On your payout schedule, Stripe sweeps what is available to your bank. So one deposit can hold a long list of balance transactions from several days. Nothing in the bank statement tells you which customers paid.
Before any build, settle which system owns what. Business Central should own customers, invoices, the chart of accounts and the bank reconciliation. Stripe owns card data, the payment itself and the payout. The integration carries facts from Stripe into the ledger. It should never push card details or payment tokens into Business Central. That keeps your ERP out of scope for card data rules.
The second decision is who issues the invoice. If Business Central invoices and Stripe only collects, we apply each payment to an existing open entry. If Stripe Billing runs subscriptions and issues its own invoices, Business Central usually receives summarized revenue by plan and period instead, and the customer ledger lives mostly in Stripe. Mixing the two without a rule produces duplicate receivables.
How Stripe balance transactions map to Business Central
Connector app, iPaaS or your own code
A connector app on AppSource
Several vendors publish apps that pull Stripe payouts into Business Central journals.
- โRuns inside Business Central with its own setup pages
- โCheck how it treats disputes, multiple currencies and partial refunds
- โYou depend on the vendor keeping pace with Stripe API versions
Integration platform
An iPaaS tool reads Stripe events and writes journal lines through the Business Central API.
- โFits when PayPal, a marketplace and Stripe all need the same treatment
- โCentral logs and retry queues
- โSomeone on your side owns the flows
Custom AL extension or service
Code that reads the payout's balance transactions and builds exactly the entries finance wants.
- โHandles revenue split by product line or entity
- โIdempotency keys and webhook signature checks built in
- โYou maintain it when either API changes
Stripe details that trip up finance teams
- โPayouts draw on the available balance, so a charge taken on Friday may not appear in the deposit you expected
- โRefunds issued in the Stripe dashboard bypass Business Central unless the integration picks them up as events
- โA disputed charge leaves your balance weeks after the sale, often in a later period than the revenue
- โCharges in a foreign currency settle in your payout currency at Stripe's rate, not your Business Central exchange rate
- โWebhooks can arrive twice or out of order, so every posting needs a unique Stripe ID to reject duplicates
- โA negative balance is possible when refunds exceed sales, and Stripe may debit your bank account to cover it
Proving it in test mode, then watching it live
- 1
Script the awkward cases
In Stripe test mode, create a normal sale, a partial refund and a full refund. Add a lost dispute, a won dispute and a charge in a second currency.
- 2
Post into a sandbox environment
Run each payout into a Business Central sandbox copy of your company and check the clearing account returns to zero after every payout.
- 3
Reconcile a real month in parallel
Before cutover, let the integration post into the sandbox while your team reconciles the live month by hand, then compare line for line.
- 4
Alert on what does not clear
After go-live, a daily check flags any clearing balance older than one payout cycle and any Stripe charge with no matching invoice number.
Stripe and Business Central questions from finance
Does Microsoft publish a Stripe connector for Business Central?
Not one we would point you to as the standard answer, so most companies use a vendor app from AppSource or a purpose-built link. Microsoft's own ecommerce connector covers Shopify, whose payouts can include Stripe-processed payments, but a direct Stripe account for invoices or subscriptions needs its own integration. We compare the available apps against your dispute, currency and refund needs before recommending one. If none fits, a small custom extension is often simpler than bending an app.
Should every Stripe charge become a separate entry in Business Central?
Usually yes for B2B invoices and no for high-volume retail. When each charge pays a specific invoice, posting it individually keeps the customer ledger accurate. Sometimes many card sales have no invoice in Business Central. Then a summary per payout by account and dimension keeps the ledger readable, while Stripe keeps the detail. The deciding factor is whether anyone needs to see a customer balance in the ERP.
How do we handle Stripe fees for sales tax and reporting?
Fees are an expense of your business and should post to their own account, never netted against revenue. Netting hides the true cost of card acceptance and understates gross sales, which can confuse sales tax reporting. The integration posts the gross charge to the customer and the fee separately to expense. Your tax advisor can confirm how your state treats the revenue side.
More Business Central Stripe integration questions
What happens when a customer disputes a payment?
Stripe withdraws the disputed amount and a dispute fee from your balance, and the integration should record both at that moment. We post the amount to a disputes receivable account rather than reopening the invoice straight away, because the outcome is unknown. If you win, the returned funds clear that account. If you lose, your normal process writes it off or charges it back to the customer. Either way the payout still reconciles.
Can we still use Business Central bank reconciliation?
Yes, and that is the point of routing payouts through a clearing account. A Business Central Stripe integration moves each payout from clearing to the bank account. So the bank reconciliation or payment reconciliation journal matches one ledger entry to one deposit. Finance keeps its familiar month-end routine. The clearing account itself becomes the control that shows anything Stripe paid but the ledger has not explained.
Talk to us about your project.
Tell us what you run today and what has to change. A senior consultant replies with a written next step.
