Appearance
Year-End Close
This guide covers the fiscal year-end close process — the final step in the annual accounting cycle that seals all periods, posts retained earnings, and prepares the ledger for the next fiscal year.
Overview
Year-end close is a one-time, irreversible operation per fiscal year. It:
- Validates all regular periods are already SOFT_CLOSED
- HARD_CLOSEs every period in the fiscal year (no further posting possible)
- Calculates net Profit & Loss for the year
- Posts a retained earnings journal (DR Current Year Earnings → CR Retained Earnings)
DANGER
Year-end close cannot be reversed. All periods become HARD_CLOSED permanently. Ensure all adjustments are complete before proceeding.
Prerequisites
Before running year-end close, verify:
- All 12 (or custom count) regular periods are SOFT_CLOSED
- Adjustment periods (if any) have all entries posted
- FX revaluation has been run for the final period
- Intercompany elimination is complete
- All recurring journals have been executed
- Audit adjustments are posted and approved
- Sub-ledger ↔ COA reconciliation passes for all control accounts
Running Year-End Close
- Navigate to Accounting → Fiscal Periods → Fiscal Years tab
- Locate the fiscal year to close
- The system will show the current status summary (e.g. "Soft Closed: 12, Open: 0")
- Use the row action or API to close the year
The close_fiscal_year procedure will:
- Validate all regular periods are closed
- HARD_CLOSE every period (including adjustment periods)
- Calculate net P&L from
daily_coa_balancefor all P&L accounts (account_sub_cat = 'PROFIT_AND_LOSS') - Post a journal entry: DR
CURRENT_YEAR_EARNINGS→ CRRETAINED_EARNINGS - Log the activity
System Tags Required
The retained earnings journal relies on two system tags being assigned to COA accounts:
| Tag | Purpose |
|---|---|
RETAINED_EARNINGS | The equity account that accumulates prior-year profits |
CURRENT_YEAR_EARNINGS | The temporary equity account cleared at year-end |
These must be configured in Administration → Financial Setup → System Tags and mapped to the appropriate COA accounts before year-end close can run.
Post-Close State
After year-end close:
- All periods show status HARD_CLOSED — no exceptions
- The retained earnings balance reflects cumulative profits/losses
- Current Year Earnings is zeroed out
- A new fiscal year (generated from the fiscal calendar) begins fresh with NOT_OPENED periods
- Opening balances for the new year are derived from the closing
daily_coa_balance
Next Fiscal Year
After closing the current year:
- Generate the next fiscal year from Fiscal Period Management → Generate Fiscal Year
- Select the fiscal calendar and target year
- Open the first period to begin the new cycle
Permissions
| Permission | Description |
|---|---|
CLOSE_FISCAL_YEAR | Execute the year-end close operation |
GENERATE_FISCAL_YEAR | Generate a new fiscal year and its periods |
VIEW_FISCAL_YEARS | View fiscal year status |
Troubleshooting
"Not all regular periods are closed" — One or more periods are still OPEN. Close them individually first.
"Cannot resolve RETAINED_EARNINGS tag" — The RETAINED_EARNINGS system tag is not mapped to a COA account. Configure it in System Tags.
"Cannot resolve CURRENT_YEAR_EARNINGS tag" — Same as above for the CYE tag.
"SL-COA reconciliation failed" — Sub-ledger balances don't match the control account. Investigate and post correcting entries before retrying.
