Skip to main content
Closing an accounting period in Agatabo locks all transactions for that interval, transfers net income to retained earnings, and gives you a clean starting point for the next period. A well-executed close protects the integrity of your financial history. A rushed or incomplete close creates discrepancies that compound over time and make audits difficult. Follow this checklist every time you close a period, regardless of whether it is monthly, quarterly, or annual.
Your organization’s accounting period frequency is set in Organization Settings as MONTHLY, QUARTERLY, or YEARLY. Each option has a different timeline for completing the close — see the Timeline Examples section at the bottom of this page.

Phase 1: Pre-Close Preparation

Complete all nine steps below before you attempt to close the period. Do not skip steps to save time — each one exists because a specific category of error has caused problems in real closes.
1

Record all transactions for the period

Confirm that every financial activity during the period is entered in Agatabo:
  • ✅ All member deposits received
  • ✅ All loan payments collected
  • ✅ All loan disbursements made
  • ✅ All operating expenses paid
  • ✅ All bank fees and charges recorded
  • ✅ No transactions are pending entry or awaiting approval
Check with your treasurer that every cash receipt and payment has a corresponding entry. Even a single unrecorded 2,000 RWF bank fee will prevent your reconciliation from balancing.
2

Reconcile all bank accounts

Match Agatabo’s records to your actual bank statement balances for every organization account:
  1. Download bank statements for all accounts (covering the full period)
  2. Compare each statement’s closing balance to the matching bank account balance in Agatabo
  3. Identify every discrepancy:
    • Uncleared checks you issued but that haven’t been cashed yet
    • Deposits in transit recorded in Agatabo but not yet cleared at the bank
    • Bank fees, service charges, or interest not yet entered in Agatabo
    • Data entry errors (transposed digits, wrong amounts)
  4. Record adjustments for any unrecorded items:
    • Bank fees → record as an expense
    • Bank interest earned → record as income via a manual journal entry
    • Correct any data entry errors
  5. Verify the reconciliation: adjusted Agatabo balance must equal the bank statement balance
Use the Account Statements report to review the full activity log for each bank account.
3

Review member savings balances

Spot-check a sample of member accounts to confirm balances are accurate:
  • Randomly select 5–10 members
  • Compare the Agatabo balance to each member’s passbook or your own records
  • Investigate any discrepancy — do not dismiss unexplained differences
  • Verify that recent deposits and withdrawals were recorded on the correct dates
Use the Shares Report to see all member balances in one view.
4

Verify the loan portfolio

Reconcile the loan module to the general ledger before you lock the period:
  1. Run the Loans Outstanding report as of the last day of the period
  2. Confirm the report’s total matches the Loan Receivable ledger account balance
  3. Identify every loan with arrears greater than zero
  4. Apply penalties to delinquent loans if your policy requires it
  5. Document any loan modifications, waivers, or write-offs that occurred during the period
Reconcile loans before closing the period. The period close calculates interest income based on the current loan records. Unrecorded payments or disbursements will cause your income statement to be incorrect.
5

Generate and review financial statements

Run all reports as of the last day of the period and export them to PDF or CSV:
GET /reports/balance-sheet?asOfDate=2026-06-30
GET /reports/profit-loss?startDate=2026-06-01&endDate=2026-06-30
GET /reports/shares-report?asOfDate=2026-06-30
GET /reports/loans-outstanding?expectedDate=2026-06-30
Required reports:
  • Balance Sheet — financial position as of the last day of the period
  • Profit & Loss — income and expenses for the full period
  • Shares Report — member savings ownership as of period end
  • Loans Outstanding — portfolio status as of period end
Save all exports to an archive folder named by period (e.g., 2026-06-June).
6

Review the trial balance

Run the Trial Balance report as of the period end date:
  1. Confirm that Total Debits = Total Credits
  2. Investigate any account balance that looks unexpected (negative assets, positive expenses with unusual amounts)
  3. Verify that retained earnings reflects the prior period’s net income correctly
If the trial balance does not balance, stop immediately. Do not close the period until the out-of-balance condition is identified and corrected. Closing with an unbalanced trial balance will produce permanently incorrect financial statements.
7

Review unusual items

Before finalizing, scan for anomalies that may indicate errors or fraud:
  • Any single expense greater than 10% of your period budget
  • Account balances that should never be negative appearing with a debit balance
  • Income or expense items that are more than 20% higher or lower than the prior period
  • Transactions with missing descriptions or marked as uncategorized
Document a brief explanation for every material unusual item. This documentation will be essential during any future audit.
8

Run the period close preview

Use the preview endpoint to simulate the close without committing it. This lets you verify the net income figure before locking anything.
GET /period-closing/preview
Headers:
  x-organization-id: {organizationId}
Review the preview response carefully:
  • Period being closed — confirm this is the correct period
  • Net income/loss — verify this matches your Profit & Loss report
  • Journal entry details — review which accounts will be zeroed
  • Accounts affected — all INCOME and EXPENSE accounts will go to zero; the net is transferred to RETAINED_EARNINGS
If the preview net income does not match your P&L report, find the discrepancy before proceeding.
9

Obtain management approval

Present the finalized financial statements to your treasurer, board, or management committee:
  1. Share the Balance Sheet, Profit & Loss, Shares Report, and Loans Outstanding
  2. Explain any significant items, large variances, or unusual transactions
  3. Answer all questions and provide additional detail as requested
  4. Obtain written sign-off before closing
Do not close the period until you have formal approval. If management raises a concern that requires a correction, make the correction and run the preview again.

Phase 2: Closing the Period

Once you have completed all nine pre-close steps and obtained management approval, execute the close.
1

Execute the period close

POST /period-closing/close
Headers:
  x-organization-id: {organizationId}
  x-idempotency-key: {unique-key}
Required permission: periods:closeWhen this call succeeds, Agatabo automatically:
  1. Determines the next period to close (you cannot choose — it always closes the oldest open period)
  2. Creates a PERIOD_CLOSE journal entry
  3. Zeros all INCOME and EXPENSE account balances
  4. Transfers the net income (or net loss) to RETAINED_EARNINGS
  5. Locks the period — no transactions can be added, edited, or deleted for that interval
Confirm the API returns a 200 OK response before proceeding.
2

Verify the close completed correctly

Run these checks immediately after the close:
  • Audit log — confirm a PERIOD_CLOSE action was recorded with the correct timestamp
  • Balance Sheet — retained earnings should have increased by the period’s net income
  • Profit & Loss for the closed period — all income and expense totals are now final
  • INCOME and EXPENSE account balances — every one should show zero
If anything looks incorrect, use the undo endpoint (POST /period-closing/undo) to reverse the close — but note that you can only undo the most recent close.

Phase 3: Post-Close Tasks

1

Archive the period documentation

Preserve a complete record of the closed period:
  • Save all reports (Balance Sheet, P&L, Shares Report, Loans Outstanding) to a named archive folder
  • File all physical receipts and supporting documents in date order
  • Export the period’s journal entries for a detailed audit trail
  • Back up the database or confirm your hosting environment does so automatically
Maintain closed period records for a minimum of 7 years. The exact retention requirement varies by jurisdiction — check with your accountant or legal advisor.
2

Communicate results to members

Share the period results with your membership through your normal communication channel (email, member meeting, posted notice):
  • Balance Sheet — shows the organization’s financial position
  • Profit & Loss — shows how the organization performed during the period
  • Shares Report — shows each member’s ownership percentage
  • Dividend announcement — if a distribution is planned, announce the amount and timeline
3

Plan for the next period

Use the closed period as a baseline for the period ahead:
  • Compare actual results to budget and identify significant variances
  • Adjust the budget for the next period if material differences occurred
  • Schedule any pending loan committee meetings
  • Plan reserve allocations if your policy requires end-of-period top-ups
  • Note any process improvements to implement next time

Timeline Examples

Monthly Close

DayTask
Last business day of monthRecord all remaining transactions for the month
Day 1 of next monthDownload bank statements; begin reconciliation
Days 2–3Complete reconciliation; run and review all reports
Days 4–5Present to management; obtain written approval
Days 5–7Execute period close; verify results; archive
Total time: 5–7 business days after month end

Quarterly Close

DayTask
Last week of quarterConfirm all transactions recorded for the quarter
Days 1–2 after quarter endDownload statements; begin reconciliation
Days 3–7Complete reconciliation; run all reports; review
Days 7–10Present to management; obtain approval
Days 10–14Execute close; verify; archive
Total time: 10–14 business days after quarter end Quarterly closes require more review time because the data volume is three times larger than a monthly close.

Annual Close

WeekTask
Weeks 1–2Record all remaining transactions; reconcile all accounts
Weeks 2–3Run all reports; prepare annual financial statements
Weeks 3–4Review with external accountant; prepare for audit if required
Weeks 4–6Present to board; obtain approval; address any findings
Weeks 6–8Execute period close; finalize and publish annual report
Total time: 6–8 weeks after year end Annual closes often require an external audit before management will sign off. Build audit time into your schedule and engage your auditor at least 3 weeks before the planned close date.

Common Issues

Problem: Total debits ≠ total credits on the Trial Balance report.Common causes:
  • A manual journal entry was saved with unequal debits and credits
  • A data entry error transposed digits in an amount
  • A journal entry is missing one side entirely
Resolution:
  1. Run the Trial Balance with full line-item detail
  2. Calculate the exact difference amount
  3. Search journal entries for an entry with exactly that amount — it is often the culprit
  4. Review all manual journal entries created during the period
  5. Correct the error before attempting to close the period
Problem: The Loans Outstanding report total does not equal the Loan Receivable account balance in the general ledger.Common causes:
  • A loan payment was recorded incorrectly (wrong allocation between principal and interest)
  • A loan disbursement did not generate the expected journal entry
  • A loan was modified or written off without the corresponding ledger update
Resolution:
  1. Run the Loans Outstanding report and note the total
  2. Check the Loan Receivable ledger account balance
  3. Calculate the difference
  4. Review all loan transactions from the current period
  5. Verify that every disbursement and payment has a matching journal entry
  6. Correct any discrepancies before closing
Problem: Agatabo’s cash balance does not match the bank statement balance after reconciliation.Common causes:
  • Bank fees or service charges not recorded in Agatabo
  • Deposits made near period end not yet cleared at the bank
  • Checks issued near period end not yet cashed by recipients
  • Data entry errors in amount or date
Resolution:
  1. List all outstanding checks (issued but not yet cashed) — these reduce the bank balance
  2. List all deposits in transit (recorded in Agatabo but not yet cleared) — these increase the bank balance
  3. Identify any bank fees or charges not yet in Agatabo and record them
  4. Apply the formula: Agatabo balance + deposits in transit − outstanding checks = bank statement balance
  5. If it still doesn’t balance, review transaction by transaction for a data entry error
Error: Something like "Cannot close period" or a 403 Forbidden response.Diagnostic checklist:
  • Does your account have the periods:close permission?
  • Is the x-organization-id header set to the correct organization ID?
  • Is the x-idempotency-key header present and unique?
  • Is another close operation already in progress?
  • Does the trial balance balance? (The system may block the close if there are validation errors)
Check the full error message in the response body for specific guidance, resolve the identified issue, and retry.
Situation: You closed the period and then discovered an error that requires correction.
POST /period-closing/undo
Headers:
  x-organization-id: {organizationId}
  x-idempotency-key: {unique-key}
Important limitations:
  • You can only undo the most recent period close — not arbitrary historical closes
  • The undo reverses the PERIOD_CLOSE journal entry and reopens the period for corrections
  • You cannot undo multiple periods in sequence
After the undo, make your corrections, run the pre-close checklist again, and re-execute the close.

Journal Entry Types

Understand the PERIOD_CLOSE entry and what it does to your accounts

Common Errors

Solutions for error messages you may see during the close process

Idempotency

Why you need a unique idempotency key for the close API call

Permissions Matrix

Confirm your account has the periods:close permission