> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fusioncore.us/llms.txt
> Use this file to discover all available pages before exploring further.

# Financial Periods Overview

> Track, organize, and lock financial data for an accounting timeframe so your general ledger import stays accurate.

## Overview

A **Financial Period** represents an accounting date range you want to close out, such as a calendar month, a quarter, or a fiscal year. It is a custom record in fusionCore, stored on the `FCORE_PAY__Financial_Period__c` object.

fusionCore does not post journal entries and has no debit/credit ledger of its own. Your organization's general ledger (GL) system creates the journal entries by importing data that fusionCore provides. A Financial Period is the tool that organizes that supporting data for one accounting timeframe and then locks it so nobody can change posted transactions after the books are closed.

Organizations commonly use Financial Periods to:

* Track annual and monthly membership revenue (for example, **January 2025** monthly and **FY25** yearly).
* Monitor financial performance for a major annual conference across quarterly and monthly periods.
* Measure the success of a year-end donation drive.
* Track sponsorship revenue across quarterly campaigns.

## Key Terms

A **Financial Event Line** (`FCORE_PAY__Financial_Event_Line__c`) is a single accounting ledger entry, such as one debit or credit row. Each line belongs to a parent Financial Event, which originates from an order or a payment.

When you work a Financial Period, you connect the relevant Financial Event Lines to it, then freeze them. Two buttons on the Financial Period record drive this:

| Button    | What it does                                                                                                                                                            |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Fetch** | Finds every succeeded Financial Event Line whose event date falls inside the period's date range and links it to the period (sets `Financial_Period__c` on each line).  |
| **Lock**  | Validates that everything is correctly linked, freezes the linked lines and their parent events (`Is_Locked__c = true`), and sets the period's `Status__c` to `Closed`. |

Both buttons run their work as a **batch job**. You start the job by clicking the button, then wait for it to finish and refresh the record to see the result.

## The Month-End Close Lifecycle

<Steps>
  <Step title="Create the period">
    Set the start date and end date for the timeframe you want to close. The status starts as **Open**. See [Creating a Financial Period](/end-user-guides/accounting/financial-periods/creating-a-financial-period).
  </Step>

  <Step title="Fetch the lines">
    Click **Fetch** to link every succeeded Financial Event Line in the date range to the period. See [Fetching Financial Event Lines](/end-user-guides/accounting/financial-periods/fetching-financial-event-lines).
  </Step>

  <Step title="Lock the period">
    Click **Lock** to validate, freeze the linked lines, and close the period. See [Locking Financial Periods](/end-user-guides/accounting/financial-periods/locking-financial-periods).
  </Step>

  <Step title="Open the reports (optional)">
    With the optional reports add-on installed and configured, the period record links to standard reports filtered to that period. See [Financial Period Reports](/end-user-guides/accounting/financial-periods/financial-period-reports).
  </Step>
</Steps>

## Status and Batch Job Fields

You can view a period's progress on the record detail page:

| Field                   | API name                     | What it tells you                                                                                                                                           |
| ----------------------- | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Status                  | `Status__c`                  | `Open` (default) while you are working the period, or `Closed` after a successful lock.                                                                     |
| Batch Job Status        | `Batch_Job_Status__c`        | The state of the most recent Fetch or Lock job: `Processing Fetch`, `Completed Fetch`, `Fetch Error`, `Processing Lock`, `Completed Lock`, or `Lock Error`. |
| Batch Job Error Message | `Batch_Job_Error_Message__c` | The detail of any error, so you can see which line or event caused a job to fail.                                                                           |

<Note>
  The status does not flip to `Closed` the instant you click **Lock**. It changes only after the background Lock job finishes successfully. If the job errors, the status stays `Open` and **Batch Job Status** becomes `Lock Error`, with detail in **Batch Job Error Message**.
</Note>

## Working with Financial Periods

<CardGroup cols={2}>
  <Card title="Creating a Financial Period" icon="calendar-plus" href="/end-user-guides/accounting/financial-periods/creating-a-financial-period" arrow="true">
    Create the period and set its start and end dates.
  </Card>

  <Card title="Fetching Financial Event Lines" icon="link" href="/end-user-guides/accounting/financial-periods/fetching-financial-event-lines" arrow="true">
    Link the period's succeeded ledger lines to the period.
  </Card>

  <Card title="Locking Financial Periods" icon="lock" href="/end-user-guides/accounting/financial-periods/locking-financial-periods" arrow="true">
    Validate, freeze the lines, and close the period.
  </Card>

  <Card title="Financial Period Reports" icon="chart-column" href="/end-user-guides/accounting/financial-periods/financial-period-reports" arrow="true">
    Point the period's report links at the reports your organization uses.
  </Card>
</CardGroup>

## Related Features

<CardGroup cols={2}>
  <Card title="Financial Events" icon="money-bill-transfer" href="/end-user-guides/orders/orders/financial-events" arrow="true">
    Financial Event Lines are the ledger entries a period fetches and locks; this is where they originate.
  </Card>

  <Card title="Posting an A/R" icon="file-invoice-dollar" href="/end-user-guides/orders/orders/posting-an-a-r" arrow="true">
    Accounts-receivable Financial Events posted on orders feed the lines a period closes.
  </Card>

  <Card title="Business Units" icon="building" href="/end-user-guides/accounting/business-units/index" arrow="true">
    Each Financial Event Line is tagged to a Business Unit, so periods organize data per division.
  </Card>
</CardGroup>

## Limitations and Common Pitfalls

* **Fetch and Lock work only while the period is Open.** A closed period cannot be re-fetched or re-locked from these buttons. The action returns "Action is available only for Open Financial Periods."
* **You cannot run two jobs at once.** While **Batch Job Status** is `Processing Fetch` or `Processing Lock`, a second Fetch or Lock is blocked until the first job finishes.
* **Fetch the lines before you lock.** Lock checks that every linked line's parent event succeeded within the period's dates, and that no succeeded line in the range is left unlinked. If a line that should have been linked is missing, Lock fails and names the offending line in the error message.
* **Locking is effectively permanent.** After a successful lock, you cannot edit or delete a locked Financial Event Line ("Cannot edit/delete Locked Financial Event Line"), and you cannot change the period's **Start Date**, **End Date**, or **Status** while it is `Closed` ("Cannot edit Closed Financial Period."). This package ships no "reopen" button, so confirm your numbers before you lock.
* **Fetch only picks up succeeded, in-range lines.** Fetch links a line only when its parent event succeeded and the succeeded date falls inside the period. Lines that are not succeeded, or whose date is outside the range, are skipped without warning.
* **Dates cannot overlap another open period, and the start date cannot be after the end date.** Creating or editing a period that overlaps another `Open` period is rejected ("Provided dates are overlapping with other Open Financial Period.").
* **Jobs can partially succeed.** A Fetch or Lock job commits the rows it can and reports the first failure it hits. If the **Batch Job Status** shows an error, review **Batch Job Error Message** and re-run after fixing the underlying data.
