Skip to main content
POST
/
service
/
general-ledger
/
accounting-periods
/
{period_id}
/
close
curl -X POST https://kube.acho.io/service/general-ledger/accounting-periods/a3UM4R8nYh33A6hgda/close \
  -H "Authorization: jwt YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "close_type": "all",
    "force": false
  }'
{
  "period_id": "a3UM4R8nYh33A6hgda",
  "period_name": "January 2024",
  "is_closed": true,
  "closed_at": "2024-02-01T10:00:00Z",
  "closed_by": "user_123",
  "close_type": "all"
}

Request

Close an accounting period. By default, the period cannot be closed if there are unposted entries. Use force=true to override this check.

Headers

Authorization
string
required
JWT authentication token. Format: jwt YOUR_TOKEN
Content-Type
string
required
Must be application/json

Path Parameters

period_id
string
required
The unique identifier of the accounting period to close

Body Parameters

close_type
string
default:"all"
Which sub-ledgers to close. Options:
  • all - Close all sub-ledgers
  • ap - Close Accounts Payable only
  • ar - Close Accounts Receivable only
  • payroll - Close Payroll only
force
boolean
default:"false"
Set to true to close even if there are unposted entries
Using force=true will close the period even if there are unposted documents. These documents will remain in their current state and cannot be posted until the period is reopened.
curl -X POST https://kube.acho.io/service/general-ledger/accounting-periods/a3UM4R8nYh33A6hgda/close \
  -H "Authorization: jwt YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "close_type": "all",
    "force": false
  }'
{
  "period_id": "a3UM4R8nYh33A6hgda",
  "period_name": "January 2024",
  "is_closed": true,
  "closed_at": "2024-02-01T10:00:00Z",
  "closed_by": "user_123",
  "close_type": "all"
}

Close Process

Before closing a period, the system checks for unposted documents across all document types:
  • Journal Entries
  • Bills
  • Invoices
  • Bill Payments
  • Invoice Payments
  • Credit Memos
Documents in the following statuses are considered “unposted”:
  • Draft
  • Pending Approval
  • On Hold
  • Approved (but not yet posted)
Use the Check Unposted Entries endpoint to review these documents before closing.