Item sells on the POS but won't post to Business Central
The sale went through at the register. The statement won't post, or posts with errors. Work this checklist top to bottom — it's ordered by how often each cause is the culprit.
1. Read the actual error first
Don't guess. Open the statement, find the failed lines, and read the posting error text. Business Central errors are verbose but usually name the exact field or setup that's wrong. Copy the full message before you change anything.
2. Check the item card
- Blocked? An item blocked for sale can still ring up if the POS data was distributed before the block. Check the item card in BC.
- Posting groups set? Every sellable item needs a Gen. Prod. Posting Group, VAT Prod. Posting Group, and Inventory Posting Group. A blank one is the most common cause of posting failures on new items.
- Type = Inventory? Non-inventory items behave differently at posting. Make sure the type matches how it's actually sold.
3. Check posting setup combinations
Open General Posting Setup and VAT Posting Setup and verify the
combination of Gen. Bus. Posting Group (from the customer/store) + Gen. Prod. Posting Group
(from the item) actually exists. A missing combination fails every time, for every item
using it — so if many items fail, look here first.
4. Check location and variant codes
If the POS sent a location or variant code that doesn't exist (or isn't set up for the item), posting fails on inventory. This bites hardest after adding new stores or variants without updating the item's SKU/location setup.
5. Check price and discount setup
A price that doesn't exist for the store/date, or a discount type the statement doesn't know how to post, will hold up the line. Verify the retail price exists and the offer was distributed to the store.
6. Re-run and verify
Fix the setup, then re-calculate or re-post the statement — don't hand-post journal lines to "get it through." Manual journals bypass the retail audit trail and will haunt the next reconciliation. After posting, spot-check the resulting entries against the statement lines.
Prevention
Almost every item on this list is a setup problem, not a transaction problem. A new-item checklist (posting groups filled, price exists, distributed to stores) run before the item goes live eliminates most of these calls entirely.