Manage Statement posting in Microsoft Dynamics 365 Commerce
Overview
In Dynamics 365 Commerce, the statement posting process accounts for transactions from the Store Commerce app or web. Using a distribution schedule, POS transactions are pulled into the Commerce headquarters client based on parameters set in the Commerce parameters and Stores pages. Transactions are transmitted via the Commerce scheduler, allowing for the creation, calculation, and posting of the store’s transaction statements.
You can create a statement manually or by using batch processes that you set up to run periodically throughout the day. In both cases, the following steps are used to create and post statements.
- Create the statement
This step identifies the store that the statement is manually created for. If you configure a batch process, you can automatically create statements for all stores, based on a schedule that you define.
- Calculate the statement
Statement calculation in Dynamics 365 Commerce uses tender declarations as the counted amount, or you can enter it manually. The statement highlights the difference between the sales amount and the counted amount across all payment methods. Posting occurs only if this difference is within the store’s defined maximum posting difference.
- Calculate the total amounts that were tendered in the selected transactions. The results are shown on the statement lines, depending on the statement method:
- If the statement method is Total, a line is created for each payment method in the selected transactions.
- If the statement method is Staff, a line is created for each payment method in transactions that were performed by the selected staff member.
- If the statement method is POS terminal, a line is created for each payment method in transactions that were performed on the selected register.
- If the statement method is Shift, a line is created for each payment method in transactions that were performed during a shift.
The document is based on ‘Shift’ statement method.
Post the statement
When you post a statement, sales orders and invoices are created for the sales in the statement.
- Cash and carry sales are aggregated onto one sales order, and are invoiced for the default customer who is assigned to the store.
- Sales for which a customer was added to the transaction in POS generate separate sales orders and invoices, one for each unique customer.
Payment journals are automatically created for the payments in the statement, and the inventory is updated for the POS store.
Prerequisites
Trickle feed-based order creation for retail store transactions
In Microsoft Dynamics 365 Commerce version 10.0.5 and later, it’s recommended to transition to trickle feed-based statement posting. This approach offers significant performance and business benefits by processing sales transactions throughout the day, while tender and cash management transactions are handled at day’s end. Trickle feed allows for near-real-time updates to inventory, revenue, and payments.
To enable trickle feed–based posting of retail transactions, enable the Retail statements – Trickle feed feature in the Feature management workspace. Statements will be split into two types: transactional statements and financial statements.
Transactional statement processing should run frequently throughout the day to create documents as transactions are uploaded to Commerce headquarters via the P-Job. To ensure transactions are included in the statement, you must also run the Validate store transactions job.
Financial statement processing is an end-of-day process that supports only the Shift closing method and reconciles closed shifts. It creates journals for differences between counted and transaction amounts for tenders, as well as other cash management transactions. This process also allows review of tender declaration, payment, banked tender, and safe tender transactions.
Process for Calculating & Posting Statements in Dynamics
- Opening a new Shift
Conducting Store Transactions
- Declare Start Amount – 50USD
- Float Entry – 10 USD
- Cash Sale – 223.13 USD
- Card Sale – 291.63 USD
- Return Sale – 40.34 USD
- Income – 5 USD
- Expense – 10 USD
- Tender Removal – 15 USD
- Bank Drop – 15 USD
- Safe Drop – 20 USD
- Print X Report
The X report says that that the short amount is 185.79 USD. For demonstration, the tender declared will be less than the amount to see impact in Financial reconciliation
- Declare Tender – 180 USD
- Closing the Shift
Once the shift has ended, the shift will be closed before the statement posting process.
- Run P Job
When retail transactions occur in a Commerce channel, the transactions can be stored locally in the Commerce channel, for later retrieval from Commerce Headquarters (HQ), or created real-time from the channel to headquarters. Locally stored transactions can be pulled from the channels at predetermined intervals by using the data distribution framework’s upload jobs (by using the naming standard P-0001 for the job).
- Validate Store Transactions
When you try to post a statement, the validation process can fail because of inconsistent data in the commerce transaction tables. Here are some examples of factors that can cause these inconsistencies:
- The transaction total in the header table doesn’t match the transaction total on the lines.
- The number of items that is specified in the header table doesn’t match the number of items in the transaction table.
- Taxes in the header table don’t match the tax amount on the lines.
If inconsistent transactions are picked up by the statement posting process, sales invoices and payment journals that are created can cause statement posting to fail. The Validate store transactions process prevents these issues by ensuring that only transactions that pass the transaction validation rules are passed to the transaction statement calculation process.
The following illustration shows the recurring daytime processes for uploading transactions, validating transactions, and calculating and posting transaction statements and the end of day processes for financial statement calculation and posting.
Path – Retail & Commerce > Retail & Commerce IT > POS Posting > Validate Store
- Calculate and Post Statements
Once on the Statements Page,
- Click New > Transaction Posting > Select Channel > OK
- The summary will be displayed, and a statement no will be generated.
- You can view details of the transactions from the ‘Transactions’ Button
- If there are no errors and statement is successfully calculated, you can go on to post the statement using the ‘Post Statement’ Button
Upon Clicking the Transaction button, you can view all the transactions detail performed during the shift.
Once you click the post statement, the batch job will run the and the statement will be posted. To view posted statements, below is the path
Retail & Commerce > Inquires & Reports > Posted Statements
The Statement can be filtered using Statement number, store name or store number or other filters. The details can be view by navigating on inquiries and viewing details about transactions, shifts and aggregated transactions.
On clicking upon the transaction button, you can view the detail of each transaction posted and an automated sales order number will be generated and can be used to invoice the sales order. It shows all the transaction done during the shift including cash sale, credit card sale, return sale and income and expense transaction conducted.
- Calculate Financial Reconciliation
Repeat the steps to calculate financial Reconciliation.
Once the financial reconciliation is recalculated, we can see the detail against each tender and the difference amount in declared vs the actual amount. In this case, tender declared was 180 USD and actual amount was 185.79 USD i.e. difference of 5.79 USD as shown below.
The system shows that there is a difference in the counted amount and actual amount, before posting the statement, you can recount the amount. If it matches the actual, the counted amount can be changed and posted. Else, the statement can be posted with the difference amount. In below scenario, the statement was posted with zero difference. Below is a screenshot.