xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField Sales & SFACRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
Auto DMSConsumer Goods DMSSales Force Automation (SFA) FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Finance & Accounting/Posting definitions
HOW-TO · Last reviewed

Posting definitions

A posting definition is a rule that tells xMatix which GL account one part of a document posts to, for example "invoice lines of this item post to Training Fees" or "round-off on bills posts to Rounding Off". Documents such as invoices, bills, credit notes, debit notes, payments, goods receipts and delivery orders post a balanced journal when they post. For each part of that journal (the receivable or payable side, each line, each tax component, the round-off), xMatix looks for a matching posting definition first. If none matches, it uses the company's chart of accounts by account type. You need definitions only where the chart's default account is not the one you want.

Overview

Every document journal is made of legs. An invoice, for example, debits the customer's receivable and credits sales income and the output tax accounts. For each leg, xMatix works out the account in this order:

  1. An account named on the document itself, where the form has one. Examples are a line's GL Account, a charge row's GL Account, the bank account picked on a payment, and the GL Account on an invoice or bill that is paid at once (GL Posting Type Cash, Bank or Card).
  2. A posting definition whose Entity Name, Posting Role and Tax Type match the leg. If several match, the most specific one wins (see Business rules).
  3. The chart of accounts. xMatix takes an account of the required type (Accounts Receivable, Sales, Expense, Tax Credit and so on) from the document's company. It prefers an account for the document's branch, then one with no branch. Tax legs first try an account whose Subtype names the tax component (CGST, SGST, IGST and so on). See GL accounts.

If none of these gives an account, the document does not post. You see a message that starts "No GL account resolved for …" and ends "Configure a PostingDefinition or a chart-of-accounts default." A few legs have no chart fallback, so they always need a definition or an account on the document: round-off, document charges and discounts, and write-offs.

When to use it

Add a posting definition when:

  • one item, customer, supplier or branch must post to a different account from the rest (training items to Training Fees, one branch's sales to its own income account);
  • the chart has more than one account of a type and you need to choose which one is used;
  • you want CGST, SGST and IGST on separate accounts and have not set Subtype on your tax accounts;
  • a document carries a round-off, a document-level charge or discount, or a write-off, which have no chart fallback;
  • you want sales or purchases booked gross, with line discounts on their own account (the line Discount role);
  • you book unclaimable GST, reverse-charge GST or advances on dedicated accounts.

If your chart already has exactly one account of each type per company, most documents post without any definitions.

How xMatix handles it

  • Where it lives. Open the Finance Setup app. Posting definitions are under Books & Posting, as Posting Definitions. The list opens on All Posting Definition, with the columns Name, Partner Account, Branch, GL Account, Entity Name, Posting Role, Granularity, Tax Type, Is Active, Created By, Created Date and Modified Date.
  • When it is read. Definitions are read each time a document posts or re-posts. A change applies to the next posting straight away. Journals that are already posted keep their accounts until that document is posted again. Each document page explains what re-posts it, for example bills and payments.
  • Only active definitions count. A definition is used only when Is Active is ticked. A definition saved with the box left blank is ignored.
  • Text, not lists. Entity Name, Posting Role and Tax Type are plain text boxes. Type the values exactly as listed on this page; capitals don't matter, but spaces and spelling do. A typo doesn't cause an error, the definition just never matches.
  • Numbering. The Name is replaced on save by a number from the Posting Definition document numbering setting (series PD with a date part). Use the GL Account, Entity Name and Posting Role columns to tell definitions apart.
  • Nothing is shipped. The standard product creates no posting definitions. Every definition in the list was added by your organisation or an import.

Prerequisites

  • The GL accounts you want to post to exist in the company's chart, and are active. See GL accounts.
  • Your security profile can open the Finance Setup app and create Posting Definition records.
  • You know which document and which leg you want to redirect. The entity name and posting role table below lists every combination xMatix reads.

Which entity name and posting role to use

Each row is a combination that the posting engine reads. Any other combination is saved but never used.

Entity NamePosting RoleThe leg it decides
InvoiceHeaderThe customer side of an invoice: the receivable, or the cash or bank account of an invoice paid at once when no GL Account is picked on it
InvoiceLineLineThe income account of each invoice line that has no GL Account of its own
InvoiceLineTaxThe output tax account for one tax component; set Tax Type
InvoiceLineDiscountTurns on gross booking: the line posts to income at its full value, and its before-tax discount posts here. Sales credit notes use it too
InvoiceRoundingThe invoice's round-off
InvoiceCharge / DiscountDocument-level charges and after-tax discounts on invoices, when the charge row has no GL Account. Sales credit notes use it too
Invoice, Bill or OpenTransactionWriteOffThe account a small balance is written off to; OpenTransaction is the catch-all for every document
BillHeaderThe supplier side of a bill: the payable, or the cash or bank account of a bill paid at once
BillHeader with Tax Type RCMThe liability for reverse-charge GST on a bill. Vendor credits that reverse the bill use it too
BillLineLineThe expense or inventory account of each bill line that has no GL Account of its own
BillLineTaxThe input tax account for one tax component; set Tax Type. Vendor credits and expense vouchers use it too
BillLineIneligibleTaxWhere GST on a line marked Blocked or Ineligible goes, instead of input tax
BillLineRcmInputTaxThe input side of reverse-charge GST
BillLineDiscountGross booking of before-tax discounts on bill lines and vendor credits
BillRoundingThe bill's round-off
BillCharge / DiscountDocument charges and after-tax discounts on bills and vendor credits
CreditNoteHeaderThe customer or supplier side of every credit note, including vendor credits
CreditNoteLineLineThe account each credit note line posts to when it has no GL Account of its own
CreditNoteLineTaxThe tax account for one tax component on customer credit notes and sale returns
CreditNoteRoundingThe round-off on customer credit notes and vendor credits
CreditNoteCharge / DiscountCharges and discounts on customer credit notes and sale returns. Without one, the Invoice definitions apply
DebitNoteHeaderThe supplier or customer side of every debit note
DebitNoteLineLine / TaxDebit note line and tax accounts
PaymentHeaderThe money side of a payment or receipt (cash, bank, cheques in hand), when no bank account is picked on it
PaymentLineThe receivable or payable side of a payment or receipt
PaymentCustomerAdvance / VendorAdvanceThe advance account that unapplied receipts or payments move to, when advances on their own account are switched on
GoodsReceiptHeader / LineThe inventory side and the goods-received-not-invoiced side of a goods receipt
DeliveryOrderHeader / LineThe unbilled-dispatch side and the inventory side of a delivery order
ExpenseVoucherLineTax / IneligibleTaxInput tax, or unclaimable GST, on expense voucher lines. Without one, the BillLine definitions apply

The Posting Role help text also mentions Cogs and Inventory. No posting reads those roles, and the cost of goods sold and stock value journals don't read posting definitions at all.

Procedure

Step 1 — Open the list

  1. Open the Finance Setup app.
  2. Under Books & Posting, select Posting Definitions.

The All Posting Definition view lists every definition. Check the list for an existing definition with the same Entity Name and Posting Role before you add another one.

Step 2 — Create a definition

  1. Select New.
  2. In the top section, fill in:
    • Entity Name: the document or line name from the table above, for example InvoiceLine.
    • Posting Role: the role from the table, for example Line.
    • Is Active: tick it. A definition with this box clear is never used.
    • Leave Name as it is; it is numbered on save.
  3. On the Account Details tab:
    • Partner Account (required): the company the definition applies to. Only active companies are offered.
    • GL Account: the account to post to. The list is not filtered by company, so pick an account that belongs to the company you chose.
    • Branch, Account (a customer) or Supplier Account: fill these only to narrow the definition. The Branch list offers the chosen company's branches.
  4. On the Item Details tab, pick an Item only to narrow a line, tax or charge definition to one item.
  5. On the Other Details tab:
    • Tax Type: for the Tax role, the tax component exactly as it appears on the document lines, for example CGST. For a reverse-charge bill liability, RCM. Otherwise leave it blank.
    • Priority: a whole number, only needed when two definitions are equally specific. The lower number wins.
  6. Select Save.

The definition opens on its record page. The header shows the Partner Account and Branch. The Key Information section shows the Account, Supplier Account, Account Group, Item Group and Item, and Posting Criteria shows the GL Account, Entity Name, Posting Role, Tax Type and Is Active. The next document that posts uses it.

Step 3 — Check it with a test document

  1. Create and post a document that should use the definition, for example an invoice for the item you scoped.
  2. Open the journal the document posted (see Working with journals) and check the account on the leg.

If the leg still lands on the old account, see Common problems.

Step 4 — Change or retire a definition

  1. Open the definition and select Edit. The edit form is the same as the New form.
  2. Change the fields and select Save. To stop using the definition but keep it, clear Is Active.
  3. To remove it, select Delete on the record page or in the list.

Changing or deleting a definition doesn't change journals that are already posted. Documents posted later, and documents that are re-posted, use the new setup. If you delete or deactivate the only definition for a leg that has no chart fallback (round-off, charges, write-offs), those documents stop posting until you add another.

Fields

The New and Edit form, in form order. Name, Entity Name, Posting Role and Is Active are at the top; the rest are on the Account Details, Item Details and Other Details tabs.

FieldWhat it meansNotes
NameThe definition's numberReplaced on save with a PD number
Entity NameThe document or line the definition applies toRequired. Plain text such as Invoice, InvoiceLine, Payment. Must be one of the names in the table above
Posting RoleWhich leg of that document it decidesPlain text such as Header, Line, Tax, Rounding. Blank counts as Header
Is ActiveWhether the definition is usedMust be ticked. Blank counts as inactive
Partner AccountThe company the definition applies toRequired on the form. A definition for another company is never used
BranchNarrows the definition to one branchOptional. Offers the chosen company's branches. A different branch on the document rules the definition out
AccountNarrows the definition to one customerOptional. Offers active customer accounts. Matched against the document's party
Supplier AccountNarrows the definition to one supplierOptional. Offers active supplier accounts. Matched against the document's party, like Account
Account GroupA party groupNot read by posting. A definition scoped only by Account Group behaves as if it had no party scope
GL AccountThe account the leg posts toRequired. Not filtered by company: check it belongs to the Partner Account's company
ItemNarrows the definition to one itemOptional. Only line, tax, line-discount and charge legs carry an item. A definition with an Item never matches a Header, Rounding, Write-off or advance leg
Item GroupAn item groupNot read by posting. A definition scoped only by Item Group behaves as if it had no item scope
GranularityIntended to choose summarised or detailed journal linesNot read by posting. Document journals always group legs by account
Tax TypeThe tax componentFor Tax: must equal the line's tax type, and blank never matches. For IneligibleTax and RcmInputTax: blank covers every component. For Header on a bill: RCM
PriorityTie-breakerLower wins among equally specific definitions; blank sorts last. It can't make a broad definition beat a narrower one

Business rules

  • Matching. A definition is a candidate for a leg when it is active, has a GL Account, and its Entity Name, Posting Role and Tax Type match the leg.
  • Specificity. Each candidate is scored on its scope fields. A company match counts most, then branch, then item, then customer or supplier. A scope field that names a different company, branch, item or party rules the definition out completely. A blank scope field matches anything but adds nothing.
  • Ties. Between candidates with the same score, the lowest Priority wins, and a blank Priority sorts last. Between equal Priorities, which one wins is not defined, so avoid exact duplicates.
  • What the definition overrides. A definition beats the chart default, but never an account named on the document: a line's GL Account, a charge row's GL Account, a payment's bank account, or the GL Account on an invoice or bill paid at once.
  • Bill lines from a goods receipt. Without a definition, a bill line that came from a goods receipt clears the goods-received-not-invoiced account. A BillLine / Line definition applies to these lines as well. A broad one therefore sends them to its own account and leaves the receipt's accrual uncleared, so scope it by item or leave receipt-based lines to the default.
  • Shared entity names. Customer credit notes, sale returns and vendor credits all use CreditNote and CreditNoteLine. Customer and supplier debit notes both use DebitNote and DebitNoteLine. One CreditNote / Header definition with no party scope therefore sends both the receivable side of customer credit notes and the payable side of vendor credits to the same account. Narrow it with Account or Supplier Account, or rely on the chart defaults.
  • Payments. Receipts, supplier payments and refunds all use Payment. A Payment / Header definition without scope sends the money side of every mode (cash, cheque, bank) to one account.
  • Fallbacks between documents. Sales credit notes look for Invoice and InvoiceLine definitions when they have no charge, discount or line-discount definition of their own. Vendor credits use the Bill and BillLine tax, charge, discount, unclaimable-GST and reverse-charge definitions, so a reversal lands where the bill posted. Expense vouchers use the BillLine tax definitions when they have no ExpenseVoucherLine one.
  • Gross booking is opt-in. Without a line Discount definition, a line posts its net amount and its discount is never seen in the ledger. With one, the line posts its full value and the discount posts on the opposite side. The document total, the tax and the receivable or payable are the same either way.
  • Unclaimable GST. With no IneligibleTax definition, GST on a Blocked or Ineligible line is added to that line's own expense or inventory account.
  • Write-off and advance accounts. xMatix refuses a write-off account that is a control account, and an advance account that is a control account or belongs to another company.
  • Inactive accounts. A definition can point at an inactive GL account; the post then fails with "GL Account '…' is inactive. Please update the Posting Definition or journal line before posting."

Example

A distributor, Lakeview Foods, runs one company with two branches, North and South. Its chart has one Sales account, Sales – General. The finance lead wants three changes:

  1. Training income. Invoices for the item Cold Chain Training should credit Training Fees, not Sales – General. They add a definition: Entity Name InvoiceLine, Posting Role Line, Is Active ticked, Partner Account Lakeview Foods, GL Account Training Fees, Item Cold Chain Training.
  2. Separate GST accounts. The chart has one Output Tax account. They create Output CGST, Output SGST and Output IGST accounts, then three definitions with Entity Name InvoiceLine, Posting Role Tax and Tax Type CGST, SGST and IGST, each pointing at its account.
  3. Round-off. Invoices with a round-off were refused with "Configure a Invoice Rounding posting definition before posting round-off." They add Entity Name Invoice, Posting Role Rounding, GL Account Rounding Off.

They then post invoice INV-0412 for 10 units of a food item and 1 unit of Cold Chain Training, with CGST and SGST and a round-off of 0.40. The journal debits the receivable for the total and credits Sales – General for the food line and Training Fees for the training line. It credits Output CGST and Output SGST, and credits Rounding Off with 0.40. Invoices posted before the change keep their old accounts.

Training

Practice exercise

In a sandbox company:

  1. Create a GL account Practice Income of type Sales.
  2. Add a posting definition: Entity Name InvoiceLine, Posting Role Line, Is Active ticked, your company as Partner Account, GL Account Practice Income, Item = any item you can invoice.
  3. Post an invoice with one line for that item and one line for a different item.
  4. Open the invoice's journal.
  5. Clear Is Active on the definition, then post a second invoice for the same item.

Expected result: in step 4, the line for your item credits Practice Income and the other line credits the company's usual Sales account. In step 5, both lines credit the usual Sales account, because an inactive definition is ignored.

Quick reference

  • Account order: account on the document, then posting definition, then chart default by type.
  • Tick Is Active; blank means inactive.
  • Entity Name and Posting Role are typed text: copy them from the table.
  • Line, tax and line-discount definitions use the line name (InvoiceLine, BillLine); header, rounding and charge definitions use the document name.
  • Tax definitions need the exact Tax Type; blank never matches.
  • Most specific wins: company, then branch, then item, then party. Priority only breaks ties.
  • Item Group, Account Group and Granularity are not read.
  • Round-off, charges and write-offs have no chart fallback: they need a definition.
  • Posted journals don't change when you edit a definition.

Permissions

TaskWhat you need
See the list and open definitionsRead on Posting Definition, and access to the Finance Setup app
Add, change or delete definitionsCreate, Edit or Delete on Posting Definition. The shipped System Admin, Standard User, Sales Manager and Sales Executive profiles have full access to the entity
Post documents that use themThe posting permission of each document type; posting definitions add no permission of their own

Because definitions change where money is booked, consider limiting edit access to your finance administrators by changing the security profiles. See Security profiles.

The record page shows Edit and Delete. The entity also has a Clone action, which the standard record page doesn't show. A clone copies every field including Is Active, so it is live at once and competes with the original.

Configuration

What to configureWhereWhat it affects
Posting definitionsFinance Setup app → Books & Posting → Posting DefinitionsWhich account each matching leg posts to
The chart default for each account typeGL accounts (see GL accounts)The account used when no definition matches
Tax component accounts without definitionsThe Subtype on tax GL accountsSplits tax legs by component when there is no Tax definition
Advances on their own accountFinance module settings (see Recording and applying payments)Whether the CustomerAdvance and VendorAdvance definitions are used at all
Document numbering of definitionsPosting Definition Name Setting and Posting Definition Settings (see Document numbering)The PD number in Name. Both settings ship active and write the same field, so keep only one active if the number format matters to you
List columns and formsThe All Posting Definition view and the Posting Definition layouts, in the setup screens for views and layoutsWhat the list and form show. The record page's sections don't show Granularity or Priority; add them if your team needs them

Common problems

"No GL account resolved for line '…' (Sales). Configure a PostingDefinition or a chart-of-accounts default."

The line has no GL Account, no InvoiceLine / Line definition matched it, and the company has no account of the type in brackets. Add an account of that type to the chart, or add a line definition for the company. The same message with "for tax '…'", "for document header (…)" or "for counterpart (…)" points at the tax, header or counterpart leg; use the matching role from the table.

"Configure a Invoice Rounding posting definition before posting round-off."

The document has a round-off and nothing tells xMatix where to post it. Add a definition with Entity Name Invoice (or Bill, CreditNote, whichever the message names) and Posting Role Rounding.

"No GL account resolved for document charge '…'."

A charge or discount row has no GL Account and there is no matching Charge or Discount definition. Set the GL Account on the row, or add the definition the message names.

"No write-off account is configured …"

Add a definition with Entity Name Invoice, Bill or OpenTransaction and Posting Role WriteOff, pointing at an expense account (receivables) or an income account (payables). If the message says the account "is a control account", point the definition at a non-control account.

"GL Account '…' is inactive. Please update the Posting Definition or journal line before posting."

The definition, or the line, points at an inactive account. Change the definition's GL Account, or reactivate the account.

I added a definition but the document still posts to the old account

Check, in this order:

  1. Is Active is ticked.
  2. Entity Name and Posting Role are spelled exactly as in the table, without spaces (InvoiceLine, not Invoice Line). Line legs need the line name, not the document name.
  3. For a tax leg, Tax Type equals the line's tax type.
  4. Partner Account, Branch, Item and the party fields don't name something different from the document.
  5. The document doesn't name its own account: a line GL Account or a picked bank account always wins.
  6. The document was actually posted after your change. An already posted document keeps its journal until it is re-posted.
  7. Another, more specific definition doesn't win. Sort the list by Entity Name and Posting Role to find it.

Customer credit notes and vendor credits both post to the same account

A CreditNote / Header definition without a party applies to both. Narrow it with Account or Supplier Account, or delete it so each side uses the chart's receivable or payable account.

Common questions

Do I need posting definitions at all?

Not always. If each company's chart has one account of each type that documents need (receivable, payable, sales, expense, inventory, tax, cash and bank), documents post to those accounts without any definition. You need definitions for round-off, document charges and write-offs, which have no chart fallback. You also need them wherever one item, party or branch must post somewhere other than the default, or the chart has several accounts of a type and you must choose one.

Why does my definition with an Item Group have no effect?

Posting doesn't read Item Group, Account Group or Granularity. A definition scoped only by Item Group counts as having no item scope, so it applies to every item and can win over definitions you expected to be narrower. To target several items, add one definition per item, or set the GL Account on the item's document lines.

Will changing a definition fix journals that are already posted?

No. Posted journals are never edited. A document picks up the new account only when it is posted again. For example, a saved financial change to a posted bill re-posts it, and payments and credit notes have a Repost GL Posting action, which is not on their standard pages until an administrator adds it. Each re-post reverses the old journal and posts a new one. For a few documents, a manual adjusting journal can be simpler.

What should I type in Tax Type?

For a Tax definition, type the tax component exactly as it appears in the tax type of the document lines, such as CGST, SGST, IGST or Cess. Capitals don't matter. A blank Tax Type never matches a tax leg, so you need one definition per component. Alternatively, leave tax definitions out and set Subtype on your tax GL accounts. For unclaimable GST and reverse-charge input definitions, a blank Tax Type covers every component.