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/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 built from. Each line carries exactly one of Debit or Credit as a positive amount, since the side rather than a sign expresses direction, plus the GL account and the reporting dimensions (branch, business unit, GST registration) that period balances are kept by. 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. Journal lines are in no app of their own: you add and open them from the Lines tab of a journal. Once the parent journal reaches Posted or Reversed the line is frozen, and any edit, delete or move to another journal is refused.

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. Posting never fills it in and never reads it: balances are kept only by the primary GL Account, so a value here has no ledger effect. On no shipped form.
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 → JournalThe journal this line belongs to. Set for you when you add the line from the journal's Lines tab. A line cannot be moved off or detached from a Posted or Reversed journal.
LabelLabelTextA readable title for the line. On no shipped form. When a Journal Line document-name setting numbers the line, the number is copied here too.
LineNumberLine NumberNumberThe order of the line within its journal. Lines produced by documents, recurring runs and reversals carry one, and inter-business-unit clearing lines are numbered after the last line. A line added by hand on the Lines tab has none, and posting checks lines in Line Number order with unnumbered lines last.
ModifiedByIdModified ByLookup → UserAccountYes
NameDocument NumberText, uniqueYesThe line's document number. When the tenant has an active document-name setting for Journal Line, every line, whether keyed in, produced by a document, a reversal or a recurring run, is numbered by it, and the same number is written to Label. Without such a setting, a line gets an automatic name starting with JRNL- followed by the time it was saved. A name you type yourself is kept unless a Journal Line setting numbers it.
NarrationNarrationTextThe reason for this line, up to 2,000 characters. Not on the Quick Add form; shown under Amount Details on the line's record page. A reversal copies each line's narration to its mirror line.
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