Stripe Integration with Business Central: How to Automate Payment Links, Posting and Reconciliation
Quick Answer
A Stripe integration with Business Central connects your Stripe account to Dynamics 365 Business Central. You create Stripe payment links from sales orders and posted sales invoices, email them to customers, and the paid amounts post to a payment journal automatically. It removes manual payment entry and most of the manual reconciliation work your finance team does today.
Introduction
I have worked with a lot of finance teams that run Dynamics 365 Business Central and take card payments through Stripe. The story is almost always the same. Sales posts an invoice in Business Central. Someone builds a Stripe payment link by hand and pastes it into an email. The customer pays. Then a person in accounts opens the Stripe dashboard, finds the payment, and types it into a cash receipt journal. Every single time.
That gap between your ERP and your payment gateway is exactly what a Stripe integration closes. In this guide I walk through how a Stripe Business Central integration works, what it should do, how to set it up step by step, and the mistakes I see most often. I will also show how our Business Central Stripe connector handles payment links, partial payments, refunds and automatic payment posting, so you can judge whether it fits your own process.
What Is a Stripe Integration for Business Central?
A Stripe integration for Business Central is a connection between your Stripe account and your Business Central company that moves payment data in both directions. Business Central sends the amount, the customer and the document number to Stripe. Stripe sends back the payment status, and the integration posts the payment against the right customer ledger entry.
In plain terms, it lets you collect card payments, ACH and other Stripe payment methods without anyone re-keying data into the ERP. Business Central stays your system of record. Stripe stays your payment gateway. The integration is the bridge that keeps both in agreement.
What Moves Between Stripe and Business Central
A well-built Stripe ERP integration usually moves these records:
- From Business Central to Stripe: customer details, items for itemized checkout, and the amount due on a sales order or posted sales invoice.
- From Stripe to Business Central: the payment status (pending, paid, failed, expired or refunded), the amount actually collected, and refund details.
- Inside Business Central: a payment journal line that applies the money to the open invoice, so the customer balance updates on its own.
Who Needs a Stripe Payment Integration
In my experience, the companies that get the most out of a Stripe payment integration fall into a few groups:
- B2B distributors and wholesalers that invoice on terms but want to offer customers a fast card option.
- Businesses that take deposits on sales orders before they ship or start work.
- Service companies that send invoices after a job and want to be paid the same day.
- Finance teams that spend hours each week matching Stripe payments to open invoices by hand.
If any of those sound like your week, the rest of this guide is for you.
Why Business Central Needs a Stripe Payment Connector
Business Central is excellent at sales orders, invoicing and the general ledger. Stripe is excellent at taking money online. The trouble starts when the two are run side by side with nothing joining them. In my experience, that setup creates three problems that grow with every new customer.
Problem 1: Manual Payment Entry Is Slow and Error Prone
When payments are typed in by hand, they get posted late, posted to the wrong customer, or posted without being applied to an invoice. An unapplied payment is one of the most annoying things in receivables. The customer has paid, but their account still shows an open balance, so your team sends a reminder to someone who already paid you.
Problem 2: Payment Links Live Outside the ERP
If someone builds payment links in the Stripe dashboard, Business Central has no idea a link exists. Nobody can see from the invoice whether a link was sent, whether it expired, or whether the customer tried to pay and failed. Business Central payment processing becomes a guessing game.
Problem 3: Collections Stay Reactive
Payment links are only half of collections. The other half is chasing customers who have not paid yet. That is why I like to pair a Stripe setup with automated payment reminders in Business Central, so overdue invoices get a reminder with a way to pay, and the reminders stop once the invoice is settled.
A proper Stripe integration fixes all three by keeping the payment link, the payment status and the posted payment attached to the Business Central document they belong to.
Stripe Integration Options: Connector, Custom API or Middleware
There are three common ways to connect Stripe and Business Central. Each one can work. The right choice depends on how standard your payment process is and how much you want to maintain yourself.
| Option | How it works | Control | Maintenance | Best for |
|---|---|---|---|---|
| Business Central Stripe connector | An extension installed inside Business Central with setup pages for keys, journals and templates | Medium: configurable, not rebuilt | Low: the vendor updates it | Most small and mid-sized companies with a standard invoice and payment flow |
| Custom Stripe API integration | Your developer writes AL code or a service that calls the Stripe API | High: you decide every rule | High: you own every update and bug | Companies with unusual payment logic and an in-house developer |
| Middleware or automation tool | A third-party workflow tool moves data between the two systems | Medium | Medium: extra subscription and another system to watch | Simple one-way flows, such as logging Stripe payments as journal lines |
I have built and supported all three. I covered the wider trade-offs when comparing the API vs connector approach for Business Central integration, and the short version is this: a connector suits standard workflows and fast go-lives, while a custom Stripe API integration makes sense only when your process is genuinely unusual.
For most teams I talk to, a dedicated Stripe payment connector wins. It lives inside Business Central, so users never leave the sales order or invoice to send a link or check a payment. Permissions, journals and number series all follow the rules you already have.
How to Integrate Stripe with Business Central: Step by Step
Here is the order I follow on real projects. A clean Stripe integration starts with a few decisions, not with a setting, so the first two steps happen before anyone installs anything.
Step 1: Decide Which Documents Should Collect Payment
Start by deciding where a payment link should come from. The two usual answers are:
- Sales orders, when you want a deposit or full prepayment before you ship or start work.
- Posted sales invoices, when the customer already owes you and you want them to pay by card instead of a bank transfer or check.
Many companies use both. Write down which customers and which order types get links, because that rule decides how your journals and reminders work later.
Step 2: Prepare Your Stripe Account
Make sure your Stripe account is fully activated and that you know which payment methods you want to offer, such as cards and ACH. Decide who in your company is allowed to see the Stripe secret key. In my experience, the key should be entered once by an admin and never shared over email or chat.
If you run more than one legal entity or brand, check whether each one has its own Stripe account. A good connector lets you configure several Stripe accounts and switch between them. Our connector supports one Stripe account on the free plan and unlimited accounts on the paid plan.
Step 3: Install the Connector and Add Your API Key
Install the Business Central Stripe connector in a sandbox company first. Enter your Stripe API key on the setup page. A secure connector masks the secret key on screen and redacts it from its logs, so nobody can copy it later from a support screenshot.
Step 4: Set Up Automatic Payment Posting
This is the step that saves the most time, and the one people rush. You choose the journal template and batch the connector will use to create and post payment lines. If you are new to how general journals in Business Central work, the key idea is simple: a journal holds lines you can still edit, and posting turns them into ledger entries that can only be reversed, not changed.
My recommendation is to create a dedicated journal batch for Stripe payments. Point its balancing account at a Stripe clearing bank account rather than your main operating bank account. I explain why in the reconciliation section below.
Step 5: Link Customers and Sync Products
Your Stripe integration needs to know which Business Central customer is which Stripe customer. Our connector links them by email address or phone number, which avoids creating duplicate customers in Stripe. You can also sync items to the Stripe product catalog, so the checkout page shows itemized lines instead of one lump sum.
Step 6: Configure Payment Link Emails
Set up the email template that carries the payment link to your customer. Payment link emails are sent through a Business Central email account, and the connector tracks whether each link was sent. Keep the email short: invoice number, amount, due date and the link.
Step 7: Schedule Payment Status Updates
Payment statuses update through the Business Central Job Queue or on demand. I usually schedule the job to run frequently during business hours, so sales and finance see a payment as Paid shortly after the customer completes checkout.
Step 8: Test, Then Go Live
Run a full test before your Stripe integration goes live. I test at least these cases in Stripe test mode:
- A full payment on a posted sales invoice.
- A partial payment on the same invoice, then the balance.
- A deposit on a sales order.
- An expired link.
- A failed card.
- A full refund and a partial refund.
Check the customer ledger entries after every case. If the balance on the customer card is right after all six, you are ready for production.
What a Good Stripe Integration Should Do
Not every Stripe integration covers the full payment cycle. Below are the features I look for, and how each one works inside Dynamics 365 Business Central with Stripe connected properly.
Stripe Payment Links for Invoices and Sales Orders
Stripe payment links are Stripe-hosted checkout pages your customer opens from a URL. Stripe shows the page in the customer’s preferred language and supports more than 40 payment methods, depending on the customer’s location and your account settings.
With a connector, you create the link from the Business Central document itself. Open a sales order or a posted sales invoice, choose the action to create a link, and the connector sends the amount and customer to Stripe. The link is saved against the document, so anyone looking at that invoice can see it.
Stripe Invoice Payment Link Email
Once the link exists, you email it straight from Business Central using your own template. This matters more than it sounds. When the link goes out from the ERP, you have a record of when it was sent and to whom. When it goes out from someone’s personal inbox, you have nothing.
Partial Payments and Deposits on Invoices
This is where many basic setups fall short. Real customers ask to pay half now and half on delivery, or to put down a deposit on a large order. Our connector lets you create several payment links with custom amounts on one document, so you can collect a 30% deposit on a sales order today and the balance later, while every payment still applies to the same customer and document.
Stripe Refunds in Business Central
Refunds are the part of a Stripe integration that most often goes wrong, because people issue them in the Stripe dashboard and forget to record them in the ERP. The connector processes Stripe refunds from Business Central and keeps the refund status visible on the document.
A few facts about Stripe refunds are worth sharing with your team before go-live:
- You can refund all or part of a payment, and issue more than one refund against a charge, up to the original amount.
- Stripe does not return its processing fees from the original transaction when you refund.
- Refunds go back only to the original payment method.
- Customers usually see the credit about 5 to 10 business days after the refund, depending on their bank.
I always tell finance teams to plan for that fee point. If your credit memo assumes you get the full fee back, your Stripe clearing account will drift over time.
Automatic Payment Posting in Business Central
When a customer pays, the connector creates a payment journal line in the template and batch you configured, applies it to the open invoice, and posts it. The customer ledger entry closes, the customer balance updates, and nobody had to type a number. For me, this is the single feature that justifies a connector over manual work.
Stripe Payment Reconciliation
Here is the practical detail many guides skip. Stripe pays out to your bank in batches, and each payout is net of Stripe fees and any refunds. So the deposit on your bank statement almost never matches a single invoice.
That is why I recommend posting Stripe payments to a Stripe clearing bank account. The connector posts each customer payment into that account automatically, with no manual matching per invoice. When the payout lands in your real bank account, you transfer it out of the clearing account and post the Stripe fees to an expense account. If you import bank statements, the payment reconciliation journal with automatic application in Business Central can match the payout line and help with the final bank account reconciliation.
Done this way, your Stripe integration gives you a clean trail: invoice, payment, payout, fees.
Real-Time Payment Status Tracking
Every link has a status inside Business Central: Pending, Paid, Failed, Expired or Refunded. Sales can answer “has this customer paid?” without asking finance. Finance can filter for failed or expired links and follow up the same day.
Activity Log and Audit Trail
A serious Stripe payment connector logs each call it makes to the Stripe API, with the request, the response, the HTTP status and the user. Our connector does this with a retention period you can set. When an auditor or a customer questions a payment, you can show exactly what happened and when.
Is a Stripe Integration Secure?
Yes, when it is built so that card data never touches Business Central. With payment links, the customer types their card details on a Stripe-hosted page, not in your ERP. Business Central only stores the link, the amount, the status and a reference. That keeps your ERP out of the card data flow, which matters for PCI DSS requirements, the baseline security standard for anyone who handles payment account data.
On the Business Central side, I check three things in any Stripe integration:
- Key handling: the Stripe secret key is masked on screen and removed from logs.
- Permissions: only the right users can create links, issue refunds or change setup.
- Logging: every Stripe API call is logged with the user who triggered it.
Common Stripe Integration Mistakes I See
These are the mistakes I run into most often when I review an existing setup. Each one is easy to avoid if you plan for it.
- Posting payments straight to the operating bank account. The bank deposit is a net payout, so the accounts never match. Use a clearing account.
- Forgetting Stripe fees. If nobody posts the fees, the clearing account slowly builds a balance that no one can explain.
- Refunding in the Stripe dashboard only. The refund happens in Stripe, but the invoice in Business Central still looks fully paid.
- Creating duplicate Stripe customers. Without customer mapping, every link creates a new customer in Stripe, and reporting falls apart.
- Ignoring expired and failed links. A link that expires quietly is a payment you never chased.
- No reminder process. A payment link helps only if the customer sees it. Pair links with a reminder schedule, and agree internally on who owns follow-up. I wrote about the finance and IT side of handling overdue invoices in Business Central if you want to go deeper on that decision.
- Skipping the test cases. Partial payments and refunds are where a weak Stripe integration breaks. Test them before customers do.
How to Choose a Business Central Stripe Connector
When I evaluate any Dynamics 365 Business Central Stripe connector, including our own, I use this checklist:
- Creates payment links from both sales orders and posted sales invoices
- Supports partial payments and deposits on one document
- Processes refunds from inside Business Central
- Posts payments automatically to a journal template and batch you choose
- Tracks payment status (pending, paid, failed, expired, refunded)
- Sends payment link emails from Business Central with your own template
- Links customers and syncs products to avoid duplicates
- Masks the API key and keeps a full activity log
- Supports more than one Stripe account if you have several entities
If a tool misses the first four items, I would keep looking. Those four are what turn a payment link generator into a real Stripe integration.
What a Stripe Integration Costs
Plan for three separate costs, and keep them apart in your budget:
- Stripe processing fees on every payment, set by Stripe and your country and payment method.
- The connector itself. Our connector has a free plan with one Stripe account and a paid plan with unlimited accounts.
- Setup time. Even with a connector, someone has to configure journals, the clearing account, templates and the Job Queue, then run the test cases.
In my experience, the setup time is the cost people underestimate. The software takes minutes to install. Getting the posting and reconciliation rules right is the real work.
Key Takeaways
- A Stripe integration connects Stripe to Business Central so payment links, payment status and posted payments stay on the same document.
- Create links from sales orders for deposits and from posted sales invoices for balances due.
- Automatic payment posting is the feature that saves the most time.
- Post Stripe payments to a clearing account, then reconcile net payouts and fees separately.
- Record refunds in Business Central, not only in the Stripe dashboard.
- Card data stays on Stripe’s hosted page, which keeps your ERP out of the card data flow.
Frequently Asked Questions
1. What is a Stripe integration in Business Central?
It is a connection between your Stripe account and Dynamics 365 Business Central. It creates Stripe payment links from sales documents, tracks whether each link was paid, and posts the payment to a journal so the customer’s invoice closes without manual entry.
2. How do I integrate Stripe with Business Central?
Install a Business Central Stripe connector, enter your Stripe API key, choose the journal template and batch for payments, link customers, set up the email template and schedule status updates in the Job Queue. Then test full payments, partial payments and refunds in a sandbox.
3. Can customers pay a Business Central invoice by credit card?
Yes. You create a Stripe payment link from the posted sales invoice and email it to the customer. They pay on a Stripe-hosted page by card or another enabled payment method, and the payment posts back against that invoice.
4. Can I take partial payments or deposits through Stripe?
Yes, with the right connector. You can create several payment links with custom amounts on one sales order or invoice, for example a deposit now and the balance on delivery. Each payment applies to the same customer and document.
5. How do Stripe refunds work in Business Central?
The connector issues the refund in Stripe from Business Central and shows the refunded status on the document. Stripe allows full or partial refunds up to the original amount, does not return its original processing fee, and sends the money back to the original payment method.
6. Does a Stripe integration reconcile payments automatically?
It posts each customer payment automatically, so you no longer match payments to invoices by hand. Stripe payouts arrive net of fees, so I recommend a clearing account and a separate entry for fees when the payout reaches your bank.
7. Is it safe to connect Stripe to Business Central?
Yes, when customers pay on Stripe’s hosted page and Business Central never stores card numbers. Also check that the connector masks the secret key, limits who can issue refunds and logs every API call with the user who made it.
8. Do I need a developer to set up a Stripe integration?
Not with a connector. A Business Central admin or partner can configure it through setup pages. You only need a developer if you choose a custom Stripe API integration with payment rules a connector cannot handle.
9. Can I use more than one Stripe account with Business Central?
Yes, if your connector supports it. Our Stripe connector allows one account on the free plan and unlimited accounts on the paid plan, which helps companies with several brands or legal entities.
10. Which Business Central documents can have a Stripe payment link?
With our connector, you can create Stripe payment links from sales orders and posted sales invoices, for the full amount or a partial amount. Sales orders suit deposits and prepayments, while posted invoices suit balances that are already due.
Conclusion
A Stripe integration is one of those projects that looks small and pays back every single day. Once payment links, statuses and postings live inside Business Central, your team stops copying numbers between screens and starts spending that time on customers who actually need a call.
My advice is simple. Decide which documents should collect payment, set up a clearing account, and test partial payments and refunds before you go live. If you want help planning or rolling out your Stripe integration, along with journals, reconciliation and the rest of your ERP setup, our team offers Microsoft Dynamics 365 Business Central services from implementation through to support after go-live.