Close, reconcile and report
Consolidated posting
How End of Day groups many register sales into a few standard Sales Invoices, Orders and Credit Memos, and how a failed group is kept apart from the rest.
updated: applies-to: 1.0.0.141
Consolidated posting is how Bitta Retail POS turns many register receipts into a small number of standard Business Central documents. End of Day groups the released sales of one date and builds one document per group, posted through the standard Sales-Post routine, so register sales end up as ordinary posted invoices, credit memos and customer ledger entries. This page explains the grouping, the document types, failure handling, the archive, and posting a single sale on its own.
Prerequisites
- The
BAA POS - AdminorBAA POS - Fullpermission set for End of Day and the archive. See POS user permissions. - Released POS sales whose customers and items are mapped to Business Central.
How sales are grouped
End of Day puts two sales in the same group only when all of these match:
| Grouping key | Notes |
|---|---|
| Sale date | The Posting Date you choose on the End of Day dialog. |
| Customer No. | The POS customer, which posts as its mapped Business Central customer. |
| POS Store Code and POS Terminal ID | Blank values group together. |
| Payment Method Code | Sales with a different header payment method go to separate documents. |
| Salesperson Code and Currency Code | |
| Sale or return | Returns never net against sales; they form their own groups. |
| Document header facts | Everything else the sale copies to the Sales Header: bill-to customer, document and posting dates, currency factor, payment terms, location, dimensions, ship-to address, register and pricing profile, customer price group, whether POS promotions apply, the tax context (tax area, tax liable, tax method, prices including tax, VAT business posting group), return reason, fulfillment method, order reference and order name, order type, promised time, and the per-tender settlement context. |
The last key means that, for example, a pickup sale and a delivery sale from the same terminal post on separate documents. Each document gets the posting description "Consolidated POS (customer/store/terminal/payment method/salesperson/date)" and the external document number POS <store>/<terminal> <yyyy-mm-dd>. It uses the posting date stored on its sales, which is the work date when the sale was rung up. Each posted line records the POS sale and line it came from.
Document types
| Group | Create Sales Orders (Not Posted) off | Create Sales Orders (Not Posted) on |
|---|---|---|
| Sales | One Sales Invoice, posted at once. | One Sales Order, created and not posted. The sales change to Partially Posted, and their Posted Invoice No. holds the order number until you post the order. |
| Returns | One Sales Credit Memo, posted at once. | The same: return groups always post as Sales Credit Memos. |
In order mode, you review and post the orders with the standard Business Central sales order pages. When an order posts, the app marks its sales Posted, writes the archive row and links the settlement entries to the posted invoice. Their payments post at the next End of Day run, or at once with Post Pending Settlements. Developers can adjust each consolidated document before it posts through OnAfterCreateConsolidatedInvoice; see Integration events.
Failure isolation and posting claims
Each group is claimed and posted on its own. A group that fails a check, such as a tax, item or cash-rounding problem, or a Sales-Post error, is reported in the run summary and left for the next run. It never rolls back a group that already posted, and a rerun never posts a group twice. The run summary ends with the hint to fix the issues and run End of Day again, and for mapping issues to open POS Customers or POS Items. The cards have Map to BC Customer and Map to BC Item.
Every claim is recorded on the POS Posting Claims page (page 14292582) with its State: Acquired, Document Built, Deferred Order, Posting, Posted Evidence, Completed, Uncertain or Cleared. Recover resumes a claim only along a safe path, and Cancel Deferred Order cancels a retained order created in order mode. The page has no Tell Me entry; posting errors that need it name it.
Post a single sale
You can post one sale to its own document instead of waiting for End of Day. The Post action is shown in the back office, not when a sale is opened from the register.
Search for POS Sales in Tell Me and select the sale. Its Status must be Released.
Open the sale and choose Post, which posts the POS sale to Business Central as an individual invoice. A return posts as a credit memo. To post several sales at once, select them on the list and choose Post Selected as Individual Invoices.
When posting finishes, the message reads "POS Sale N posted successfully. Invoice: N". On the sale, Posted Invoice opens the posted invoice, or the posted credit memo for a return.
A sale posted this way is no longer in scope for End of Day.
The Posted Daily Sales Archive
Each posted group writes one row to Posted Daily Sales Archive: sales date, POS and Business Central customer, Terminal IDs, Transaction Count, totals excluding and including tax, tax amount, Cash Rounding Amount, status, the posted document number, and who ran End of Day and when. More fields, such as Total Quantity, Price Adjustment Amount and Average Transaction Value, can be shown by personalizing the list. Posted Invoice opens the posted invoice, and Print Gift Receipt prints a gift receipt when the batch holds one sale. In order mode, the row is written when the order is posted.
Find the result in Business Central
On the Bitta Retail POS Admin role center, the Sales menu opens Posted Sales Invoices, Posted Sales Credit Memos and Sales Orders. The posted documents are standard: navigate, print and apply them like any other.
The app also stores POS facts on posted invoice and credit memo headers, such as POS Register Profile, POS Fulfillment Method, POS Order Reference and POS End of Day Run ID, and on their lines the source sale and line. Posted shipments carry the posting claim and End of Day run IDs. These table fields are available to reports, queries and integrations; the app does not add them to the standard pages. For the day-close control report, see POS EOD Posting Settlement in All POS reports.
What's next
Settle each tender into its own account: Tender settlement.