Collect Payments with Dynamics 365 Business Central
Beta release
This is pre-release documentation for an API in public beta and is subject to change.
The Square Payments extension adds new functionality to Dynamics 365 Business Central. It allows you to accept in-person payments with Square Terminals, take card and ACH payments, and generate Square invoices for customers. Existing Business Central customers can be associated with Square customer records to streamline your invoice and customer management.
To collect payments with Square and Business Central, the following prerequisites must be met:
You must have completed the previous onboarding steps to connect Business Central to Azure and to connect Business Central to your Square account.
Your Business Central customer must be mapped to a Square customer to use Square Invoices. If this mapping hasn't been created, you have the option to create a new Square customer with the Business Central customer information or create a new customer profile in Square. If you need to remap the Business Central customer to create a corresponding Square customer, navigate to the relevant customer card in the Customers list, choose Process, and then choose Link with Square Customer.
All payments must flow to a Square location. If you need to relink a location, you can navigate to the Locations list in Business Central and choose Link with Square Location.
To collect in-person payments through a Square Terminal, you must have a Square Terminal device already onboarded in Business Central.
After the Square Payments extension has been set up and authorized, you can access the Square Settings page by searching for "Square" in Business Central. This page contains configuration settings for the Square Payments extension.
This section contains the authentication values that allow your application to connect to your Square account. This includes your application ID, application secret, and webhook URL collected during the setup process. If you need to authorize a different application, such as when you switch from Sandbox testing to a production application, follow the steps to reauthorize your Square account. You must do this when switching from the Square Sandbox to production because your client ID and secret values are different. When Sandbox testing is complete and you've set up a new production environment, you need to change the environment toggle from Sandbox to Production in the Developer Dashboard.
If you're using a Square Terminal device to collect in-person payments, you can select the onboarded Terminal to use, the deadline in minutes to allow a Terminal checkout, and the checkout refresh frequency.
The Payment Registration section handles how payments should be reflected in Business Central. You can choose different Journal Template Names and Journal Batch Names for general payments, cash, and external payments, as well as the default Square location where payments should be recorded.
This section determines whether payments made through the extension are autocaptured or placed into an APPROVED
state before completion. You can set the maximum number of tries to reauthorize a card when collecting payments.
If payments on sales orders aren't set to autocapture, you can select at which stage APPROVED
payments change to COMPLETE
, such as when the invoice or shipment is posted.
When initiating refunds, you can control whether credit memos, return orders, or both are generated in Business Central. In general, if return orders are used, you want to track receipts and refunds for physical items being returned and use credit memos when you don't need to track information about returned items (tracking only payment refunds).
In Business Central, navigate to a sales order or posted invoice. In the Terminal Checkout section, choose the Terminal you intend to use and the amount you intend to pay through the Terminal.
In the top left corner, choose Process, and then choose Pay with Square Terminal. This begins the checkout process for the Terminal you selected. The Terminal presents a checkout screen, with the specified amount to charge.
Follow the steps on the Terminal screen to complete the checkout process.
Navigate to a sales order or posted invoice. Choose Process, and then choose Pay with Square Invoice.
A new modal window opens. Optionally, you can add a deposit to the invoice by activating the Use Deposit toggle. You can enter a specific deposit amount or a percentage of the total invoice, which is calculated automatically. If you want to enforce a Deposit Due Date, you can enter one here. Note that you cannot take a deposit on an invoice paid with ACH. Instead, the whole amount must be paid with ACH.
After all the required fields are set, choose OK. A new Square order is created with an associated Square invoice. Scroll down to the Square Invoices section to find the Invoice URL value that can be sent directly to the customer for payment.
In Business Central, open the customer card for the customer whose credit card you want to add.
In the top left corner under the customer number, choose Process, and then choose Add card on file.
On the next page, enter the customer's credit card information, and then choose Store Card. The page closes automatically.
Navigate to a sales order or posted invoice. Choose Process, and then choose Pay with existing card.
By default, the full invoice amount is charged to the card, but you can select a different amount if necessary. Before continuing, ensure that your customer has agreed to the payment.
Choose the desired card from the list, and then choose the Pay button. The page closes automatically.
Navigate to a sales order or posted invoice. Choose Process, and then choose Pay with new card.
By default, the full amount is charged to the card, but you can edit this amount in the modal window.
There are additional toggles for whether the payment should be completed automatically, whether the card should be used for reauthorization if necessary, and whether the card should be added to the customer record.
Ensure that your customer has agreed to the payment and set the Customer agreed to payment toggle to True. Enter the card information and choose Pay. The page closes automatically.
ACH payments must be processed using a bank account login. Processing through an account number and routing number isn't available.
Navigate to a sales order or posted invoice. Choose Process, and then choose Pay with ACH.
By default, the full amount is charged to the card, but you can edit this amount if necessary.
Square uses Plaid to connect customers and their financial accounts for ACH payments. In the modal window, search and select the customer's bank and enter their login details.
Choose which accounts to connect. The account and owner information is shared with Square.
After the accounts are linked and confirmed, you can complete the ACH payment. Choose Continue. The page closes automatically.
If you need more assistance, contact Developer Support or ask for help in the Developer Forums.