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/Recurring Journal — entity reference
REFERENCE · Last reviewed

Recurring Journal — entity reference

A template that materialises a posted journal on a schedule — rent, accrual, amortisation and standing provision entries. A scheduled evaluator finds active templates whose next run date has arrived and emits one job per template; the processor clones the template lines into a new balanced journal dated for the run, posts it through the normal posting pipeline, and advances the next run date by the frequency. The generated journal is stamped with this template as its source document, and the template flips to Completed once the advanced date passes its end date.

Fields

FieldLabelTypeRequiredWhat it does
BranchIdBranchLookup → BranchStamped onto the generated journal header and onto every generated line, since template lines carry no branch of their own. Anything the branch cannot supply is then filled during posting from the GL account's defaults.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated OnDateAndTimeYes
EndDateEnd DateDateAndTimeThe last date a run may be scheduled for: the scheduler skips a template whose next run date has passed it, and the run that advances beyond it marks the template Completed. Leaving it empty means the template runs indefinitely.
FrequencyFrequencyTextMonthly, Quarterly, HalfYearly or Yearly, and it is what the next run date is advanced by after each run — monthly adds one month, quarterly three, half-yearly six, yearly one year. Anything unrecognised, including a blank value, is treated as monthly rather than rejected.
IdIdGuidYes
IsActiveIs ActiveBooleanA second enable switch alongside the status. The service-level due lookup treats an unset value as enabled and skips templates explicitly turned off, so a template needs both an Active status and a non-false value here to run reliably.
LabelLabelText
ModifiedByIdModified ByLookup → UserAccountYes
NameNameTextYes
NarrationNarrationText
NextRunDateNext Run DateDateAndTimeThe single field that decides whether a template runs: the scheduler picks up active templates whose next run date is on or before today, and the run advances it by the frequency.
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → Account
RecordTypeIdRecord TypeGuid, hidden
StartDateStart DateDateAndTimeRecords when the schedule is meant to begin, but the scheduler does not read it — due-template selection is driven purely by the next run date. Set the next run date to the first intended run or the template will not fire when expected.
StatusStatusTextActive, Paused or Completed. Only Active templates are picked up by the scheduler, Paused suspends runs without losing the schedule, and Completed is set automatically once advancing the next run date takes it past the end date.
UIPropsUI PropsText
UpdatedDateTimeUpdated OnDateAndTimeYes

Actions

ActionLabelTypeWhat it does
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete
DeleteEntityDeleteDeleteDeleteEntity
DeleteRowDeleteDeleteDeleteRow
EditEntityEditEditEditEntity
EditInLineEditEditInlineEditInLine
EditRowEditEditEditRow
NewNewNewNew