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

Recurring Depreciation — entity reference

A depreciation schedule for one asset or pool that posts one period's charge to the ledger per run: a fixed straight-line Period Amount, or Rate Per Period times Current WDV for written down value, never going below Residual Value. Each run posts a balanced Depreciation journal (debit the expense account, credit accumulated depreciation), lowers Current WDV, raises Accumulated Depreciation, sets Last Run Date and moves Next Run Date forward by the Frequency. A background job runs Active schedules whose Next Run Date has arrived (Finance product only), and Post Recurring Depreciation runs the next period on demand. The schedule completes itself at the residual value or past End Date, and a refused scheduled run sets it to Paused. It is not linked to the Asset record and never updates it; reversing a run's journal does not change the schedule.

Fields

FieldLabelTypeRequiredWhat it does
AccumulatedDepreciationAccumulated DepreciationCurrencyTotal depreciation charged by this schedule, raised by every run. It is not used to calculate the next charge, and reversing a journal does not reduce it. Not on the create form; set it on the record page when bringing in a part-depreciated asset.
AccumulatedDepreciationGLAccountIdAccumulated Depreciation GL AccountLookup → GLAccountThe accumulated depreciation (contra-asset) account credited by every run. Required in the same way as the expense account.
AssetNameAsset NameTextFree-text name of the asset or pool being depreciated. Used in the label and narration of every depreciation journal the schedule posts. It is not a link to the Asset register, which the schedule never reads or updates.
BranchIdBranchLookup → BranchThe branch each depreciation journal and both of its lines post under. Hidden for single-location organisations.
CostCostCurrencyThe asset's cost. A run uses it as the starting book value only when Current WDV is empty.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
CurrentWdvCurrent WDVCurrencyThe book value now. Each run applies the written-down-value rate to it and reduces it by the charge; when it reaches the residual value the schedule completes. Empty means the first run starts from Cost. Not on the create form: set it on the record page for an asset that is already part depreciated.
DepreciationExpenseGLAccountIdDepreciation Expense GL AccountLookup → GLAccountThe expense account debited by every run. Required: a run without it is refused, and a scheduled run that is refused pauses the schedule.
EndDateEnd DateDateAndTimeOptional last date for runs. The background job skips the schedule when Next Run Date is after it, and a run completes the schedule when the new Next Run Date passes it. The on-demand button does not check it before posting.
FrequencyFrequencyPickListHow far Next Run Date moves after each run. The list offers Monthly (default) and Yearly. Runs also understand Quarterly and HalfYearly if an administrator adds those values; any other value is treated as Monthly. Monthly dates on the 29th to 31st settle on the last day of February and keep that day afterwards. Values: Monthly, Yearly.
IdIdGuidYes
LastRunDateLast Run DateDateAndTimeThe date of the most recent run, set by each run.
MethodMethodTextHow each run's charge is calculated: StraightLine charges Period Amount; WrittenDownValue (the default) charges Current WDV times Rate Per Period. Any value other than StraightLine is treated as written down value.
ModifiedByIdModified ByLookup → UserAccountYes
NameDocument NumberTextYesThe schedule's number, set on save from the Recurring Depreciation Settings document name setting (series RD).
NextRunDateNext Run DateDateAndTimeThe date of the next run, and the journal date of that run. The background job runs an Active schedule once this date has arrived and moves it forward by the Frequency, so a repeated job for the same date is skipped. Not on the create form: set it on the record page, or nothing runs automatically. The Post Recurring Depreciation button runs the next period even when this date is in the future.
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → AccountThe company that owns the asset. Copied to each depreciation journal; the run date must fall in an open fiscal period of this company. Hidden for single-company organisations.
PeriodAmountPeriod AmountCurrencyThe fixed charge per run for a straight-line schedule. The last run charges only what is left above the residual value. Ignored for written down value.
RatePerPeriodRate Per PeriodPercentThe written-down-value rate applied on every run, as a fraction of one (0.0125 means 1.25%), although the form shows a % sign. Typing a percentage such as 10 writes the whole asset down to its residual value in one run. A monthly schedule needs a monthly rate. Ignored for straight line.
RecordTypeIdRecord TypeGuid, hidden
ResualValueResidual ValueCurrencyNot stored. The standard record page shows this field as Residual Value, but what is typed there is not saved and runs never read it. The residual value runs use is the Residual Value on the create form, changed with Edit.
StartDateStart DateDateAndTimeWhen the schedule starts, for your records. Runs follow Next Run Date, not Start Date.
StatusStatusTextActive, Paused or Completed. New schedules are Active. Runs set Completed at the residual value or past End Date; a refused scheduled run sets Paused, and nothing runs again until someone sets Active. Only Active schedules run. Not on the standard forms, so an administrator adds it to see or change it.
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete
DeleteEntityDeleteDeleteDeleteEntity
DeleteRowDeleteDeleteDelete
EditEditEditEdit
EditEntityEditEditEntity
EditInLineEditInLineEditInlineEditInLine
NewNewNewNew
PostRecurringDepreciationPost Recurring DepreciationServerAction (PostRecurringDepreciation)Runs the next period now: posts the Depreciation journal dated on Next Run Date (today when it is empty) and updates Current WDV, Accumulated Depreciation, Last Run Date and Next Run Date. It does not check that Next Run Date has arrived or that End Date has not passed, so each select posts another period. Refused when the schedule is not Active, a GL account is missing, or the charge works out to zero. When nothing is left to depreciate it posts nothing and completes the schedule.