xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField SalesCRMRewardsClaimsInventoryProcurementWarehouse 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
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/Entity Reference/Journal Line — entity reference
REFERENCE · Last reviewed

Journal Line — entity reference

One debit or credit leg of a journal, and the row that financial statements, the trial balance and the account ledger are ultimately aggregated from. Each line carries exactly one of Debit or Credit as a positive amount — the side, never a sign, expresses direction — plus the GL account and the reporting dimensions (branch, business unit, GST registration) that the balance cache is keyed on. A line posting to a control account must name the party account, which is what makes the receivables and payables subledgers reconcile to their control account. Once the parent journal reaches Posted or Reversed the line is frozen; the platform rejects any edit or delete outside the posting service.

Fields

FieldLabelTypeRequiredWhat it does
BranchIdBranchLookup → BranchResolved during posting through a fixed chain: the line's own value, then the journal header, then the GL account's default branch. Once settled it is a key component of the balance-cache row, and business unit and GST registration are then derived from it.
BusinessUnitIdBusiness UnitLookup → BusinessUnitResolved during posting from the line, then the journal header, then the branch's business unit, and only last of all from the GL account's default — the branch must win over the account default or the line can persist a branch/unit pair that exists nowhere in master data. It keys both the GL and the party balance rows and drives the inter-business-unit clearing lines.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
CreditCreditCurrencyA positive amount on the credit side, mutually exclusive with debit — exactly one of the two must be non-zero and neither may be negative. In the balance cache the credit side decreases the closing balance, so a signed balance is debit-positive and credit-negative.
DebitDebitCurrencyA positive amount on the debit side; direction is expressed by which of the two amount fields is used, never by a negative number. Posting rejects a line that is negative, that has both sides filled, or that has neither. In the balance cache the debit side increases the closing balance.
GLAccountIdGL AccountLookup → GLAccountYesThe ledger account this leg posts to, mandatory on every line. Posting refuses the entry if the account is inactive, and this account alone — not the contra reference — determines the balance-cache row and the subledger requirement.
GLAccountId2GL Account 2Lookup → GLAccountA secondary contra-account reference carried on the line for context.
GSTRegistrationIdGST RegistrationLookup → GSTRegistrationThe registration dimension for the line, normally derived during posting from the line's branch rather than entered directly. It forms part of the key of the GL period-balance row, so two lines on the same account with different registrations open separate balance buckets.
IdIdGuidYes
JournalDateJournal DateDateA stored calculated copy of the parent journal's date, populated by the calculation engine on save so line-level queries and reports can filter and sort by accounting date without joining the header. Treat the header value as authoritative.
JournalIdJournalLookup → Journal
LabelLabelText
LineNumberLine NumberNumber
ModifiedByIdModified ByLookup → UserAccountYes
NameDocument NumberText, uniqueYes
NarrationNarrationText
OpenTransactionIdOpen TransactionLookup → OpenTransactionLinks a control-account line to the open item (the receivable or payable) it created or settled, populated for lines born from documents and allocations. It is what lets the ledger line be traced to an ageing bucket, and reversal restores the open item alongside the journal.
OwnerIdOwnerLookup → UserAccountYes
PartyAccountIdParty AccountLookup → AccountThe customer or supplier this line belongs to, and the dimension that makes the receivables/payables subledger work — posting refuses any line hitting a control account without it. It is the counterparty, distinct from the journal's partner account, which is the owning company. Employee-facing control accounts are the exception: they are configured as non-control so the per-employee detail lives on the open-item subledger instead.
RecordTypeIdRecord TypeGuid, hidden
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete the selected records.
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteOnly works while the parent journal is unposted. Deleting a line from a posted journal is refused, because removing one leg would leave the ledger unbalanced against its own balance cache.
DeleteInListDeleteDeleteDelete in a list page
EditEditEditOnly works while the parent journal is unposted. Lines of a Posted or Reversed journal are immutable, so the save is rejected and the correction has to be made by reversing the journal.
EditInLineEditEditInlineEdit
EditListRowEditEditEditListRow
NewNewNewNew
NewInLineNewNewInlineNewInLine