Business Central posting setup errors
By Emil Björk · Microsoft business apps consultant, Gothenburg
The Business Central posting group errors — Gen. Posting Setup, VAT Posting Setup, Customer and Vendor Posting Group, Inventory Posting Setup, Direct Posting, blocked accounts — with cause, fix, prevention.
Posting groups are Business Central's way of turning a document into ledger entries without asking the user for an account number: the customer says which receivables account, the item says which revenue and inventory accounts, the two together say which VAT accounts. When a combination is missing or an account on it is blank, posting stops with one of a small family of messages that all look alike. This reference decodes them. The wider posting-groups model is in posting groups in Business Central; errors about dates, dimensions, and number series are in journal and document posting errors.
The pattern behind every message
Each message names a setup table and the key it looked for. Read it as "I looked up this combination and found nothing (does not exist)" or "I found it but the account I need on it is blank (must have a value)". The fix is always in the named setup table; the prevention is always about whether the record that carries the posting group — customer, vendor, item, G/L account, location, bank account, fixed asset — was set up completely.
General posting setup
"The Gen. Posting Setup does not exist. Identification fields and values: Gen. Bus. Posting Group='X', Gen. Prod. Posting Group='Y'"
Symptom. A sales or purchase document, or a journal line with a customer or vendor account, fails to post.
Cause. No row in General Posting Setup for that business group (from the customer or vendor) and product group (from the item, resource, G/L account, or item charge) combination. Typical after a new customer group, a new item category with its own product group, or a migrated record with a group that does not exist in this company.
Fix. Open General Posting Setup, create the combination, and fill at least Sales Account, Purchase Account, and — for items — COGS Account and Inventory Adjustment Account. Use the Copy action from a similar row. If the group on the record is simply wrong (a domestic customer tagged EXPORT), fix the record instead of creating a combination that should not exist.
Prevention. Decide the matrix of business × product groups at implementation and create every legitimate cell; block the illegitimate ones by not creating them.
"Sales Account must have a value in General Posting Setup: Gen. Bus. Posting Group=X, Gen. Prod. Posting Group=Y. It cannot be zero or empty."
Symptom. Same trigger, but the combination exists.
Cause. The row exists with a blank account for the operation being posted. Sales invoices need Sales Account; sales credit memos Sales Credit Memo Account when the separate account feature is on; purchase documents Purchase Account; item postings COGS and Inventory Adjustment; discounts their own accounts when discount posting is set to post discounts separately.
Fix. Fill the named account. The Suggest Accounts action proposes from neighbouring rows.
Prevention. After creating a combination, post one document of each type it will carry in a sandbox.
VAT posting setup
"The VAT Posting Setup does not exist. Identification fields and values: VAT Bus. Posting Group='X', VAT Prod. Posting Group='Y'"
Symptom. A document or journal line fails on VAT calculation, sometimes at line entry rather than at posting.
Cause. No row for the customer's or vendor's VAT business group and the item's or account's VAT product group. Common with cross-border customers, reverse-charge purchases, and items marked with a reduced-rate group nobody set up.
Fix. Create the combination in VAT Posting Setup with VAT Calculation Type, VAT %, Sales VAT Account, and Purchase VAT Account (and Reverse Charge VAT Account for reverse charge). Zero-rated and exempt combinations still need a row, with 0%.
Prevention. Model the VAT matrix explicitly — domestic, EU, export × standard, reduced, zero, exempt — and give every cell a row. Business Central VAT setup walks the design.
"Purchase VAT Account must have a value in VAT Posting Setup …"
Same as the general case: the row exists, the account for this direction is blank. Fill it.
Customer, vendor, and bank posting groups
"Receivables Account must have a value in Customer Posting Group: Code=X." / "Payables Account must have a value in Vendor Posting Group: Code=X."
Symptom. Any posting involving a customer or vendor in that group fails.
Cause. The posting group exists but its control account is blank, or the group was created for a migration and never completed. Also appears for Payment Disc. Debit/Credit, Interest, Additional Fee, and Invoice Rounding accounts when those features are used.
Fix. Fill the accounts on the Customer Posting Groups or Vendor Posting Groups page.
Prevention. One group per control account you actually want on the balance sheet; do not create groups speculatively.
"The Customer Posting Group does not exist." / "Customer Posting Group must have a value in Customer: No.=X."
Cause. Either the code on the customer points at a group that was deleted or renamed, or the customer card has no group at all — typical of records created through the API or a configuration package that skipped the field.
Fix. Set the group on the customer; recreate the group if it was deleted.
Prevention. Use customer and vendor templates so every new record gets posting groups by default; see customer and vendor templates.
"G/L Account No. must have a value in Bank Account Posting Group: Code=X."
Cause. A bank account's posting group has no G/L account, so payment journals and bank reconciliations cannot post.
Fix. Fill it on Bank Account Posting Groups.
Inventory posting setup
"The Inventory Posting Setup does not exist. Identification fields and values: Location Code='X', Invt. Posting Group Code='Y'"
Symptom. An item ledger posting — receipt, shipment, adjustment, transfer — fails, or Post Inventory Cost to G/L reports errors.
Cause. Inventory posting setup is per location × inventory posting group. A new location, or an item with a new inventory posting group, needs a row for every location it will move through — including blank location if items are posted without one.
Fix. Create the row with Inventory Account (and, for manufacturing, WIP and capacity variance accounts). Copy from the existing location's rows.
Prevention. Adding a location is a setup checklist, not a single record: inventory posting setup, warehouse settings, and bin setup all follow.
"Inventory Posting Group must have a value in Item: No.=X." / "Gen. Prod. Posting Group must have a value in Item: No.=X."
Cause. An item created without posting groups — again, typically through the API, a configuration package, or a copied item from a template that lacked them.
Fix. Set the groups on the item card.
Prevention. Item templates with posting groups filled; see item templates in Business Central.
G/L account state
"Direct Posting must be equal to 'Yes' in G/L Account: No.=X. Current value is 'No'."
Symptom. A journal line or a document line with a G/L account fails.
Cause. The account has Direct Posting off. Control accounts — receivables, payables, inventory, VAT, bank — are set that way deliberately so the sub-ledger stays reconciled to the G/L.
Fix. Post through the sub-ledger: a customer or vendor account on the journal line, an item on the document line, the bank account rather than its G/L account. For a genuine one-off correction, switch Direct Posting on, post, and switch it off again in the same sitting — and record why.
Prevention. Leave Direct Posting off on every control account. Recurring reconciliation differences at month-end are almost always somebody posting directly; close the hole rather than fixing the symptom each period — month-end close covers the discipline.
"Blocked must be equal to 'No' in G/L Account: No.=X. Current value is 'Yes'." / "Account Type must be equal to 'Posting' in G/L Account: No.=X."
Cause. The account is blocked, or it is a Heading, Total, or Begin/End-Total account that cannot carry postings. Common after a chart-of-accounts cleanup renumbered accounts but a posting group still points at the old one.
Fix. Point the posting group at the correct posting account; unblock only if the account should still be in use.
Prevention. Before blocking an account, check where it is used with the Where-Used action on the chart of accounts.
Fixed assets
"FA Posting Group must have a value in Fixed Asset: No.=X." / "Acquisition Cost Account must have a value in FA Posting Group: Code=X."
Cause. The asset has no posting group, or the group lacks the account for the posting type (acquisition, depreciation, disposal, gain/loss, maintenance).
Fix. Complete the FA posting group; every posting type the asset will go through needs its account.
Prevention. Set up FA posting groups per asset class before the first acquisition; fixed assets in depth has the account list.
Finding gaps before users do
Three habits catch nearly all of these before go-live: complete every posting group page in one sitting and review it against the chart of accounts; post one sales invoice, one purchase invoice, one payment, and one item adjustment per group combination in a sandbox copy; and use the posting setup pages' filters for blank accounts after every migration or template change. The Adjust Cost and Post Inventory Cost to G/L batch jobs are the last line of defence — they surface every missing inventory combination at month-end, which is the least convenient time to learn about it.
Frequently asked questions
What does 'The Gen. Posting Setup does not exist' mean?
- The combination of the customer's or vendor's general business posting group and the item's or account's general product posting group has no row in General Posting Setup, so Business Central does not know which sales, purchase, COGS, and discount accounts to post to. Add the combination with its accounts, or fix the group on the record that is wrong.
Why does an invoice fail with 'Direct Posting must be equal to Yes in G/L Account'?
- A journal line or document line is trying to post straight to a G/L account that has Direct Posting switched off — normally a control account such as receivables, payables, or inventory, which should only ever be posted to through the sub-ledger. Post through the customer, vendor, or item instead; only switch Direct Posting on for a genuine correction and switch it off again.
Which posting group does an item need?
- Three: a general product posting group (drives revenue, COGS, and purchase accounts via General Posting Setup), a VAT product posting group (drives VAT accounts and rates via VAT Posting Setup), and an inventory posting group (drives the inventory account via Inventory Posting Setup, per location). Missing any one of them stops posting.
How do I find every missing posting setup combination in one go?
- Open General Posting Setup and VAT Posting Setup and use the Suggest Accounts action on a new combination, or run the Posting Setup pages filtered to blank accounts. Then test-post a sales and a purchase document per customer and vendor group in a sandbox copy before go-live.
Further reading
Related guides
- Business Central journal and document posting errorsBusiness Central posting errors that are not posting groups — allowed posting dates, dimension code mandatory, number series, blocked customers and items, nothing to post, warehouse handling, approvals.
- AL compiler errors in Business CentralThe AL compiler errors every Business Central developer hits — AL0118, AL0132, AL0185, AL0296, AL0432, AL0603, AL0604, ID-range and symbol errors — with cause, fix, and prevention.
- AL runtime errors in Business CentralThe Business Central runtime errors AL developers and admins meet most — record already exists, does not exist, modified by another user, string length, locks and deadlocks, G/L inconsistency — with fixes.
- Business Central API errorsBusiness Central API and OData errors decoded — Authentication_InvalidCredentials, BadRequest_ResourceNotFound, Internal_CompanyNotFound, Request_EntityChanged, Application_DialogException, 429 limits, custom API 404s.
- Business Central job queue errorsWhy Business Central job queue entries fail or stall — Error status, stuck In Process, entries that never run, permission and user problems, overlapping jobs, sandbox copies, reports needing parameters — with fixes.
Browse every guide in Business Central or just Troubleshooting.
Spot something wrong or want a topic covered? Send a correction or a topic request — both are welcome.