# Year End Close

## Overview

Year-end close is the fiscal year-end extension of the standard period-end close process. It runs exclusively on the final period of a fiscal year, after that period's standard close checklist has been completed. The process generates an automatic closing journal entry that zeroes out all temporary accounts (revenue and expense) and transfers the net income or net loss to the retained earnings account defined in the active Chart of Accounts. This closing entry follows the explicit closing entry model used by Oracle, SAP, and NetSuite, where closing entries are posted as distinct, auditable journal entries rather than computed in real-time.

After the closing entry is posted, the year-end close generates opening balance entries for the first period of the new fiscal year. These opening balances carry forward all permanent account balances (assets, liabilities, equity — including the updated retained earnings) so that the new fiscal year starts with a complete balance sheet. The year-end close is a prerequisite for the new fiscal year's accounting periods to begin accepting operational postings, ensuring continuity between fiscal years. The entire process is auditable, with each step recorded via the audit module.

## Business Purpose

- **Retained earnings accuracy**: Closing temporary accounts to retained earnings ensures the balance sheet correctly reflects cumulative equity at fiscal year-end, which is required by GAAP, IFRS, and virtually all accounting standards
- **Clean start for new fiscal year**: Opening balance entries provide a complete starting point for the new fiscal year without requiring the system to recompute balances from historical transactions across all prior years
- **Explicit and auditable closing entries**: Posting closing entries as distinct journal entries (rather than virtual real-time computation) creates a clear, immutable audit trail that external auditors can verify independently
- **Temporary vs. permanent account distinction**: The year-end process enforces the fundamental accounting distinction between temporary accounts (revenue, expense — reset to zero each year) and permanent accounts (assets, liabilities, equity — carried forward indefinitely)
- **Fiscal year continuity**: Opening balance generation ensures that the accounting equation (Assets = Liabilities + Equity) holds at the start of the new fiscal year, preventing orphaned or imbalanced periods
- **Compliance with reporting standards**: IAS 1 and US GAAP require that financial statements present a complete picture of financial position, including retained earnings that reflect all prior-year results. The year-end close produces the entries that make this possible
- **Sequential dependency enforcement**: By requiring year-end close to run only on the final period of a fiscal year and only after its standard close is complete, the system prevents premature closing that could miss late-arriving transactions

## Process Flow

```mermaid
flowchart TD
    A[Final period standard close completed] --> B{Is this the final period of the fiscal year?}
    B -- No --> C[Standard permanent close - no year-end steps needed]
    B -- Yes --> D[Initiate year-end close]
    D --> E[Identify all temporary accounts: REVENUE and EXPENSE types]
    E --> F[Calculate net income/loss: total revenue minus total expenses]
    F --> G[Look up retained earnings account from CoA configuration]
    G --> H{Retained earnings account configured?}
    H -- No --> I[Reject: retained earnings account required]
    H -- Yes --> J[Generate closing journal entry]
    J --> K[Debit all revenue accounts to zero]
    K --> L[Credit all expense accounts to zero]
    L --> M[Post net difference to retained earnings account]
    M --> N[Verify closing entry is balanced]
    N --> O[Generate opening balance entries for new fiscal year]
    O --> P[Post opening balances to first period of new fiscal year]
    P --> Q[Year-end close complete - permanently close final period]
```

## Scenario Patterns

- **Standard Year-End Close**: After closing December (the 12th and final period), the system generates a closing entry that debits all revenue accounts and credits all expense accounts, posting the net income to retained earnings. Opening balance entries are generated for January of the new fiscal year carrying forward all asset, liability, and equity balances
- **Year-End Close with Net Loss**: The company reports a net loss for the fiscal year. The closing entry credits all revenue accounts and debits all expense accounts, with the net loss debited to retained earnings, reducing cumulative equity. Opening balances reflect the reduced retained earnings
- **Non-Calendar Fiscal Year Close**: A company with an April-to-March fiscal year runs year-end close on the March period. The process is identical to a calendar year-end but triggers on the March period as the final period of the fiscal year
- **13-Period Fiscal Year Close**: A company using a 13-period fiscal calendar runs year-end close on period 13. The closing entry covers all 13 periods of revenue and expense activity
- **Multi-Entity Year-End Close**: A parent company coordinates year-end close across three subsidiaries. Each subsidiary runs its own year-end close independently, generating entity-specific closing entries and opening balances. The parent company's consolidation process consumes the resulting opening balances
- **Missing Retained Earnings Account**: The accounting team attempts year-end close but the active Chart of Accounts does not have an account with RETAINED_EARNINGS operational classification. The process is rejected with a clear error, requiring CoA configuration before year-end close can proceed
- **Year-End Close with Prior Adjustments**: An auditor posts a final adjustment during the soft-lock phase of the final period. The year-end close incorporates this adjustment into the closing entry calculation, ensuring the retained earnings transfer reflects all final adjustments

## Test Cases

- Year-end close can only be initiated for the final period of a fiscal year
- Initiating year-end close for a non-final period is rejected with an invalid period error
- Year-end close requires the final period's standard close checklist to be completed through the soft-lock or permanent close stage
- Year-end close generates a closing journal entry that debits all REVENUE-type accounts to zero
- Year-end close generates a closing journal entry that credits all EXPENSE-type accounts to zero
- The net difference (net income or net loss) is posted to the retained earnings account
- Year-end close fails if no account with RETAINED_EARNINGS operational classification exists in the active CoA
- The closing journal entry is balanced (total debits equal total credits)
- The closing journal entry is flagged with a distinct journal type (e.g., CLOSING) for identification
- The closing journal entry is posted to the final period of the fiscal year
- Only accounts with posted journal lines during the fiscal year are included in the closing entry (zero-balance temporary accounts are excluded)
- Opening balance entries are generated for all permanent accounts (ASSET, LIABILITY, EQUITY types)
- Opening balance entries are posted to the first period of the new fiscal year
- Opening balance entries carry the correct closing balance from each permanent account, including the updated retained earnings
- Opening balance entries are flagged with a distinct journal type (e.g., OPENING) for identification
- The sum of all opening balance debits equals the sum of all opening balance credits (accounting equation maintained)
- Year-end close cannot be run twice for the same fiscal year; duplicate attempts are rejected
- Year-end close emits audit events recording each step: closing entry generation, retained earnings posting, opening balance generation
- The closing entry references the fiscal year and the retained earnings account in its metadata for traceability
- Opening balances for the new fiscal year are only generated if the new fiscal year's periods exist
- Year-end close fails gracefully if the new fiscal year has not been defined, with a clear error message
- After year-end close, the final period of the old fiscal year is permanently closed
- After year-end close, the first period of the new fiscal year contains opening balance entries and is ready for operational postings
- Year-end close is scoped to a single company; each company runs year-end close independently

## Reference Links

- [Oracle Fusion Year-End Close Process](https://docs.oracle.com/en/cloud/saas/financials/24d/oafcf/general-ledger-close.html)
- [SAP S/4HANA Year-End Closing](https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/ee3509643e954b3da2e0ebfa846c02e1/4588dcd34eab6e37e10000000a42189b.html)
- [NetSuite Year-End Tasks](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_1531269686.html)
- [Odoo Fiscal Year Closing](https://www.odoo.com/documentation/19.0/applications/finance/accounting/get_started/cheat_sheet.html)
- [IFRS IAS 1 Presentation of Financial Statements](https://www.ifrs.org/issued-standards/list-of-standards/ias-1-presentation-of-financial-statements/)
