System Solutions LLC Customer Payment Portal for D365 Business Central User Guide
Customer Payment Portal for D365 Business Central syncs customer invoices in Microsoft Dynamics 365 Business Central to an online payment portal called Invoice Ninja.
Customer Payment Portal for D365 Business Central Overview
Extension
- Extension Version Number: 2.4.2.0
- Extension Version Date: 11/19/2025
- Published by: System Solutions LLC
- Find more extensions for Microsoft Dynamics 365 Business Central by System Solutions LLC
Description
The Customer Payment Portal extension syncs customer invoices in Microsoft Dynamics 365 Business Central to an online payment portal called Invoice Ninja.
Invoice Ninja Setup
- An Invoice Ninja account must be set up for the store. Get started here: https://invoiceninja.com/how-it-works/
- As explained in "Step 3" of the Invoice Ninja link above, a payment gateway must also be selected. If you have no preference, Stripe is recommended. An account will also need to be created for this selected payment platform.
- In Invoice Ninja, go to Settings and search “token.” Open the API Tokens page and then click the API Tokens button. Create a new token and save the long string of text it gives you. You will need this later when setting up Business Central.
- More information about setting up and using Invoice Ninja itself can be found in their user guide: https://invoiceninja.github.io/en/user-guide
Invoice Ninja Payment Provider Setup
- Invoice Ninja > Settings > Payment Gateway > Add Payment Gateway
- Select Credentials and enter in the API Key, and other required fields provided by the Payment Processor.
- Select Health Check and need to receive a response of OK.
- Note if the switch Test Mode = On, you will get an error, you must NOT be in Test Mode to do a Health Check
- Select Health Check and need to receive a response of OK.
Setup in Business Central
- Now that you have an Invoice Ninja account, you can start setting it up with Business Central through this integration app. In Business Central, use the magnifying glass to search for "Customer Payment Portal." Open the "Customer Payment Portal Setup" page.
- Check "Enabled Invoice Ninja Syncing."
- In Invoice Ninja, go to Settings > Account Management > API Tokens > Create. Input this token into the "API Token" field of the setup page in Business Central.
- If you plan to connect specific customers to different companies in Invoice Ninja, use the "Use Customer-Specific Connections" field. Then go to Actions > Payment Portal Connections to add the information for the additional connections based on Customer Posting Groups. If a connection for the customer's posting group doesn't exist here, it will default to the one provided on the main Setup page.
- "Require Email Address" – With this enabled, a customer cannot be sync if it's missing an email address.
- "Disable Invoice Emails" – This optional setting can be used to prevent the payment portal from automatically emailing customers after every invoices is synced.
- The four "Custom Value" fields under the Invoice Syncing section allow you to map any additional fields from Posted Sales Invoices in Business Central to invoices in Invoice Ninja. These custom values can be viewed directly in the portal or on the emailed invoices.
- "Default Journal Template," "Default Journal Batch," "Payment Method Code," and "Bal. Account No." – When a payment originates in Invoice Ninja, the app will automatically create and post a Cash Receipt Journal in Business Central. These fields are used with that Cash Receipt Journal, so set them to whatever you would use if you were to manually add payments using the Payment Journal page. If Payment Method Code is not specified, it will use the payment method of the customer. If the payment method used for the payment has its own Bal. Account No., it will be used instead of the one specified on this page.
- "Post Payments for Closed Invoices" – Specifies that an incoming payment to an invoice that is already closed will be posted with no application, meaning it will be paid directly to the customer account. With this option disabled, a payment made to a closed invoice will be skipped.
- "Disallow Overpayments" – Specifies that an incoming payment from Invoice Ninja will not apply an amount greater than the invoice's remaining balance in Business Central. If the payment is greater than the remaining balance, the exact remaining amount will be applied to the invoice instead. This setting should be enabled if payment gateway fees are added in Invoice Ninja.
Using the Customer Payment Portal with Business Central
Customer Payment Portal for D365 Business Central Features
- Each customer can be opted in to use the payment portal. In the customer card, use the "Allow Online Customer Payment Portal" setting under the Customer Payment Portal section. Then, in the action bar at the top, go to Actions > Customer Payment Portal > Sync Customer. The customer will now appear in Invoice Ninja.
- To enable or sync multiple customers at once, the Customers list page contains actions to allow or sync all selected customers.
- Posted Sales Invoices have a new Customer Payment Portal action in the action bar. This can be used to manually sync them to Invoice Ninja. However, this will also be done automatically through the job queue in Business Central.
- To manually sync multiple invoices at once, the Posted Sales Invoices list page contains an action to sync all selected invoices.
- As of version 2.3.1.0, invoices are created in Invoice Ninja with item and tax details. Business Central and Invoice Ninja do not round taxes in exactly the same way, so in rare occurrences, an additional line may be added to the items with a price of 0.01. An additional line may also be added if a partial payment is made at the same time that the invoice is posted. This ensures that the invoice total matches between both systems.
- Invoices created automatically by recurring sales in Business Central can be optionally set to bill the customer automatically. This can be enabled for the customer with the "Auto Bill Recurring Invoices" setting under the Customer Payment Portal section of the customer card. These invoices will be created as standard invoices in Invoice Ninja.
- When a customer makes a payment through the payment portal, it will appear on the "Customer Payment Portal Payment Staging" page. This page has options to manually sync to Invoice Ninja and create payments in Business Central. This will be done automatically through the job queue.
- If a negative payment (adjustment) is made in Invoice Ninja and it doesn't have a positive payment of the same amount, it will be added as a payment refund directly to the customer in Business Central and won't be applied to the original invoice.
- When a customer makes a payment or some other application to an invoice in Business Central, a payment will be synced to Invoice Ninja. Similar to invoices, this can also be done manually on the Detailed Customer Ledger Entries page.
- To manually sync multiple payment applications at once, open the Detailed Ledger Entries page and use the "Filter Unsynced Applications" action to show only entries that can be synced, but have yet to be added to Invoice Ninja. Select the entries you want to sync and use the "Sync Application to Invoice" action.
- The "Modify Sync Status" action on customers, posted sales invoices, and detailed customer ledger entries can be used to remove the syncing by clearing the Sync Status and Invoice Ninja ID fields.
- Documents attached to the customer in Business Central can be automatically synced so they can be downloaded from the client portal. After attaching a document on the customer card, a prompt will ask if it should be synced to the payment portal.
Set Up Job Queue Entries in Business Central
Two Job Queue Entries need to be set up in Business Central to sync payments from Invoice Ninja. One is used to automatically fetch the payment information from Invoice Ninja in regular intervals, while the second will automatically post these payments in Business Central. On the Job Queue Entries page, Click on new. This will open the Job queue entry card. Fill the following fields.
- Object Type to Run – Codeunit
- Object ID to run – 70372224
- Activate recurring Job on Mondays, Tuesday till Sunday
- Set No. of Minutes between Runs – 1
- Click on Process – Set Status to Ready
Repeat the above steps for Object ID 70372223.
The basic setup for the app is now complete.
Useful Information, Setups, and Features in Invoice Ninja
Commonly Used Invoice Ninja Settings
- A Business Central customer becomes an Invoice Ninja "client"
- Settings That Control Portal (for Management Users and All Clients)
- Settings > Client Portal > Client Portal switch = On to make the Client Portal accessible for management staff.
- Settings > Client Portal > Client Portal switch = On so the Client (Customers) can login to the portal
- Settings > Client Portal
- Portal Mode = Subdomain
- Subdomain = <type in something similar to your brand> example syssolutionspayment
- This creates a URL which can be included in a Business Central e-mail body, invoices, and / or statements so the client can click to login to the Invoice Ninja Client Payment Portal
- From the above Demo company, the Client login URL to put on the Business Central invoice or statement: https://syssolutionspayment.invoicing.co/client/login
- Settings Specific to Individual Clients and their Contacts
- Clients > Highlight Client > Settings > Allow Underpayments to allow Client to pay less than the full amount of the Invoice
- Group Settings to Apply to Groups of Clients or All Clients
- Settings > Group Settings to apply a standard set of settings to a large group of clients.
- For most settings, the app will first check if the client has a value in place, if not it will check if the client belongs to a group and if that group defines a value. Finally, it will use the default value set at the company level. The benefit of using groups is that if in the future you need to change the setting you can change it one place rather than having to update multiple clients individually.
- Settings > Group Settings to apply a standard set of settings to a large group of clients.
Adding new Client Contacts
- Clients > Select Client to View > Edit button > Add Contact link to add another Contact
- Fill in: First Name, Last Name, E-mail, Phone (Optional)
- You can only add new Contacts to a Client from the admin portal. Customers cannot add more Contacts to their Client entry from the client portal themselves.
- Once a Client Contact is added
- Advise the Contact to go to payment portal URL, enter their e-mail (that was added to the Contact field), select “Forgot Your Password”, and it will send an e-mail so Contact can set a password.
- Password must be 8 characters.
- Contact can then login to the portal using their e-mail and password, to see and pay invoices (based on Client Portal and Client settings).
- Advise the Contact to go to payment portal URL, enter their e-mail (that was added to the Contact field), select “Forgot Your Password”, and it will send an e-mail so Contact can set a password.
- Fill in: First Name, Last Name, E-mail, Phone (Optional)
Paying Invoices
- It is not necessary to send Invoices or Statements from Invoice Ninja to get paid in the portal.
- Business Central invoices synchronize to the Payment Portal.
- Applications such as payments made to invoices in Business Central synchronize to the Payment Portal.
- Business Central users may prefer to just send invoices and statements from Business Central, with the link to the Portal using the URL (generated above) in the E-mail body, or the Document Layout.
- Sending Invoices and Statements from Invoice Ninja are useful as automatic reminders.
- Option 1 - Client Contact logs into the Client Payment Portal and Self-Pays their Invoices.
- When a customer makes a payment through the payment portal, it will appear on the “Customer Payment Portal Payment Staging” page. This page has options to manually sync to Invoice Ninja and create payments in Business Central. However, the syncing will be done automatically by the Business Central job queue (setup above).
- Option 2 - Business Central User logs into the Company Portal and Makes Payment with the Customers Credit Card to make a Card Not Present Payment and Store the Card.
- Login to Invoice Ninja Company Portal: https://invoicing.co
- Clients > Select Client > Settings > Payment > Allow Underpayment = Enabled
- From Company Portal > Select Client > Client Portal > Select Invoice(s) > Pay Now
- Select Pay button > Enter Credit Card, Exp Date, CVV
- Optionally save the card with Link (when prompted)
- Select Pay Now button.
- Option 3 - A simple “E-mail with Payment Link approach” for Business Central Users that don’t want their Clients to log into a Portal
- In this situation, it would be more typical to NOT e-mail Invoices from Business Central to the Client but rather let the Business Central invoice sync to Invoice Ninja, and Invoice Ninja will auto-e-mail the invoice with a View Invoice button or link, to click and then pay.
- To eliminate the need for the Client to "login to the portal" and have to navigate the portal:
- Settings > Client Portal > Client Portal > Registration = ON (enables Clients to self-register, though likely irrelevant for this Option)
- First Name, Last Name, E-mail = Required (so when paying the Invoice, the payor has to provide that minimum information)
- Password = Hidden (so no password is required)
- All other fields = Hidden
- Settings > Client Portal > Settings > Client Portal = OFF
- Settings > Client Portal > Settings > Dashboard = OFF
- After the above, when I clicked on View Invoice again from the e-mail, it was just the Invoice and Pay Now, very clean without the “portal look”.
- Client > Settings > Client Portal had these things turned off as well, because the settings above are Global.
- Settings > Payment Settings > Client Initiated Payments = OFF (which allows Clients to make Payments without an Invoice; just in case).
- Unable to find a way to turn off the PDF Invoice from displaying so did this:
- Settings > Invoice Design
- Turn Off all fields under Invoice Design > Product Columns, Invoice Design > Task Columns, and most fields under Invoice Design > Total Field
This made a very minimal Invoice. I kept Balance Due and Paid to Date fields as useful information for the payor
- Settings > Client Portal > Client Portal > Registration = ON (enables Clients to self-register, though likely irrelevant for this Option)
Using Invoice Ninja to Send Monthly Statements and Reminders
- Add payment portal link to Invoice Ninja Statement template:
- In the Invoice Ninja Admin portal: Settings > Templates & Reminders > change Template to "Statement" > Edit subject and body as needed.
- The available fields are listed in the area below $payment_url.
- In the Invoice Ninja Admin portal: Settings > Templates & Reminders > change Template to "Statement" > Edit subject and body as needed.
- How to create an Invoice Ninja statement schedule:
- In the Invoice Ninja Admin portal: Settings > Schedules > Green "+ Create" button and fill out the details.
- Auto Billing in Invoice Ninja
- Invoice Ninja has Auto Invoicing and Auto Billing.
- With Auto Billing the Client can opt in and as long as there is a payment method on file, the payment will be auto processed and applied to the Invoice.
Document Management
- Client > Edits > Additional Info > Documents tab > Drag and Drop or Select
- The Documents module allows you to upload files to a client, project, or an expense. For example, this may be used for recording disbursements, contracts, or other documentation you need to easily access.
- The Document will be immediately visible to the Client
- You can optionally select whether the document you upload is visible to the client in the client portal.
- Clients can be set to allow them to upload their own documents.
- The Documents module allows you to upload files to a client, project, or an expense. For example, this may be used for recording disbursements, contracts, or other documentation you need to easily access.
Example Business Workflows
Customer Self-Payment Workflow
A Business Central user enables "Allow Online Customer Payment Portal" on a customer card, syncs the customer to Invoice Ninja, and allows the customer contact to log in to view and pay open invoices. The payment appears on the Customer Payment Portal Payment Staging page and can be posted through the Business Central job queue.
Card Not Present Payment Workflow
A Business Central user logs into the Invoice Ninja company portal, selects the client, opens the client portal view, selects invoice records, and enters the customer's credit card information to make a Card Not Present payment. The card can optionally be saved with Link when prompted.
Email Payment Link Workflow
For customers that should not log into a full portal, Business Central invoices synchronize to Invoice Ninja and Invoice Ninja sends an email with a View Invoice button or payment link. Client Portal and Dashboard settings can be disabled so the customer sees a cleaner invoice and Pay Now experience.
Customer Payment Portal for D365 Business Central Recurring Invoice Workflow
Customer Payment Portal for D365 Business Central supports recurring sales invoices that are created in Business Central and optionally set to bill the customer automatically. When "Auto Bill Recurring Invoices" is enabled on the customer card and a payment method is on file, the recurring invoice can be created as a standard invoice in Invoice Ninja and processed through the payment workflow.
Document Sharing Workflow
After a document is attached to a customer in Business Central, the system prompts whether the document should sync to the payment portal. If synced, the document can be downloaded from the client portal along with customer invoice and payment activity.
Conclusion
Customer Payment Portal for D365 Business Central connects Business Central invoice, payment, customer, and document activity with Invoice Ninja so customers can access an online payment experience while Business Central remains the financial system of record. After Invoice Ninja, payment gateway, Business Central setup, customer opt-in, and job queue configuration are complete, invoices and payments can be synced automatically or manually depending on the workflow.
Related System Solutions Resources
Looking for additional Dynamics 365 Business Central user guides?
Visit our Business Central User Guide Library.
Looking for additional Dynamics 365 Business Central Extensions?
Visit our Business Central Extension Library.
View the Microsoft AppSource page for Customer Payment Portal for D365 Business Central:
Customer Payment Portal for D365 Business Central on Microsoft AppSource.