General Ledger (GL)
1. Overview
Section titled “1. Overview”The General Ledger (GL) module is the financial backbone of the system. It maintains the chart of accounts, records all financial transactions through journal entries, enforces close-date controls, manages subledgers and cost centers, and provides budget tracking. Postings from other modules (Accounts Receivable, Accounts Payable, Jobs, etc.) flow into the GL through the approval workflow and are visible here in the Unapproved Postings screen.
2. Key Concepts
Section titled “2. Key Concepts”-
Chart of Accounts — The complete list of ledger accounts that categorize every financial transaction. Each account has a type (Income or Balance Sheet), a natural balance (Debit or Credit), and belongs to a hierarchical category.
-
Journal Entry (Document Posting) — A balanced set of debit and credit lines recorded against ledger accounts on a specific date. Every financial event in the system — whether entered manually or generated by another module — becomes a journal entry in the GL.
-
Double-Entry Accounting — Every journal entry must have equal debits and credits. The system enforces this: attempting to post an unbalanced entry displays an error message. This ensures the accounting equation (Assets = Liabilities + Equity) always holds.
-
Subledger — A subsidiary ledger that groups related postings and controls its own open-date window. For example, the “Accounts Payable” subledger receives all AP-generated postings, and its date window can be closed independently of other subledgers.
-
Cost Center — An organizational unit (department, division, branch) assigned to ledger accounts. Cost centers enable departmental reporting — because every ledger account is assigned to a cost center, reports can be broken down by department or division.
-
Fiscal Period & Close Date — Each subledger has its own open-date window (Start/End Close Date) that controls which posting dates are accepted; closing a period adjusts a subledger’s window, locking those dates and preventing retroactive changes. GL Settings also exposes a Master Close Date field, but it is not consumed by the posting/close-date enforcement code.
3. How It Connects
Section titled “3. How It Connects”Upstream — Every module posts to the GL:
- Accounts Payable → vendor invoice postings debit the configured expense accounts and credit the AP Control account
- Accounts Receivable → sales invoice postings debit the AR Control account and credit the configured revenue accounts
- Inventory → receiving and adjustment postings move value between the configured Inventory, Inventory Suspense, and Inventory Variance accounts
- Job Costing → job expense postings and job close distributions flow through configured GL accounts
- Service → work order invoicing posts revenue and cost entries to the GL
- Payroll → payroll runs post to the configured wage, employer tax, and liability accounts
Downstream — GL feeds financial outputs:
- Financial Reports — Trial balance, income statement, and balance sheet are generated directly from GL balances
- Budget vs. Actual — GL actuals are compared against budget amounts set in the Budgets screen
- Bank Reconciliation — GL bank account transactions are matched against bank statement lines
Key Integration Point — Posting Configuration: The Posting Configuration screen maps each module’s transaction types to specific subledgers. This routing determines which subledger receives the posting and which date-window rules apply. For example, the AP module’s individual transaction types (Post Invoice, Pay Invoices, Issue Check, Void Check) and the Payroll run each map to whichever subledger an administrator assigns to that posting-configuration detail row. The destination subledger is configurable, not a fixed per-module name.
4. GL Settings
Section titled “4. GL Settings”Navigation: General Ledger → Settings
This screen configures system-wide GL parameters. All changes save automatically when you leave a field.
Category Mappings (Required)
Section titled “Category Mappings (Required)”These settings designate which top-level ledger category represents each financial-statement section. All six are required to save GL Settings.
| Field | Description |
|---|---|
| Assets Category | The ledger category representing all asset accounts |
| Liabilities Category | The ledger category representing all liability accounts |
| Equity Category | The ledger category representing all equity accounts |
| Income Category | The ledger category representing all revenue accounts |
| Cost of Goods Sold Category | The ledger category representing COGS accounts |
| Expense Category | The ledger category representing all expense accounts |
The income statement and balance sheet are built from each ledger account’s Type (Income or Balance Sheet), and retained earnings is derived from the Income-type accounts and stored in its own period records; these category links are not read by the reporting or close computations. They are also not re-validated by the GL close action, which only requires that all subledgers be closed.
Special Accounts (Required)
Section titled “Special Accounts (Required)”Both accounts are required to save GL Settings.
| Field | Description |
|---|---|
| YTD Income Account | The balance sheet account designated to hold year-to-date net income during the fiscal year |
| Retained Earnings Account | The equity account designated to hold accumulated retained earnings |
Note: the GL close does not post to either account. It recomputes retained earnings from the Income-type accounts and stores the result in a separate retained-earnings record, so these two account links are not currently read by the reporting or close computations.
Document Posting Controls (Required)
Section titled “Document Posting Controls (Required)”| Field | Options | Description |
|---|---|---|
| Document Posting Close Type | Approval, Password | The actual routing is controlled per subledger’s Close Type field; new subledgers are created with Close Type Approval regardless of this setting. Approval routes postings through the Unapproved Postings screen. Password requires the posting user (who must be an authorized user of the subledger) to re-enter their own login password to post directly. |
| Master Close Date | Date picker | A date field in GL Settings. Note: posting locks are enforced per subledger via each subledger’s open-date window (Start/End Close Date); this Master Close Date field is not consumed by the posting/close-date enforcement code. |
Reset Master Close Password
Section titled “Reset Master Close Password”The Reset Master Close Password button (shown in red) opens a dialog where an administrator can set a new master close password. Note: when a Password-type subledger’s date window is closed, posting directly requires the posting user’s own login password (and the user must be listed as an authorized user on that subledger) — the master close password stored here is not consumed by the journal-entry posting flow.
5. Chart of Accounts — Ledger Accounts
Section titled “5. Chart of Accounts — Ledger Accounts”Navigation: General Ledger → Manage Ledger Accounts
This screen (page title Ledger Management) displays all ledger accounts in the chart of accounts and allows creating, editing, and navigating to account details.
Search List
Section titled “Search List”| Column | Description |
|---|---|
| Ledger ID | The account code |
| Description | Account name |
| Category | Hierarchical category path (e.g., Assets › Current Assets) |
| Cost Center | The cost center assigned to this account |
| Type | Income or Balance Sheet |
- Use the search field above the grid to filter by Ledger ID or Description in real time.
- Click any row to navigate to the View Ledger Account detail screen.
- Click the + icon in the column header to create a new ledger account (requires the Create Ledger Account permission).
- Click the Edit icon on any row to edit that account (requires the Edit Ledger Account permission).
Create / Edit Ledger Account
Section titled “Create / Edit Ledger Account”The create/edit dialog contains the following fields:
| Field | Required | Description |
|---|---|---|
| Ledger ID | Yes | The account code. Must be unique across all accounts. |
| Description | Yes | The human-readable account name. |
| Type | Yes | Income (profit/loss accounts) or Balance Sheet (asset/liability/equity accounts) |
| Natural Balance | Yes | Debit or Credit — the side of the ledger this account normally carries a balance on |
| Category | Yes | Select the hierarchical ledger category this account belongs to |
| Cost Center | Conditional | Required unless the account is flagged as a root account |
| Prevent Direct Posting | No | If checked, the UI prevents this account from being used directly in journal entries; it is reserved for system postings only |
| Is Root Account | No | This field defaults to true for new accounts and is not exposed as a user-editable control. |
6. Ledger Categories
Section titled “6. Ledger Categories”Navigation: General Ledger → Manage Categories
Ledger categories organize accounts into a hierarchical tree (e.g., Assets → Current Assets → Cash). This structure drives financial statement formatting and the GL Settings category mappings.
Category Tree
Section titled “Category Tree”The screen displays categories as a collapsible tree. Each row shows the category name. Expand a category to see its subcategories.
Actions per row:
| Button | Description |
|---|---|
| + (Add) | Create a new subcategory under this category |
| Edit | Rename this category |
| Delete | Delete this category (only available for subcategories that have a parent). All subcategories and accounts under the deleted category are moved to the parent. |
Category Detail — Managing Accounts
Section titled “Category Detail — Managing Accounts”Click the expand arrow on any category row to open its detail panel:
- Ledger Account Selector — Autocomplete field to search for and assign an existing ledger account to this category.
- Category Ledgers Grid — Lists all accounts currently in this category, showing Ledger ID and Name.
- Move Up button — Moves the account to the parent category.
7. Cost Centers
Section titled “7. Cost Centers”Navigation: General Ledger → Manage Cost Centers
Cost centers represent divisions, departments, or other organizational units. Every ledger account is assigned to a cost center (unless it is a root account), enabling reporting broken down by department.
These are not the cost centers you pick on work order lines. Those are service cost centers, set up in Service → Settings, which decide which accounts a line posts to.
Cost Center List
Section titled “Cost Center List”| Column | Description |
|---|---|
| Code | The short cost center code |
| Description | The full cost center name |
| Actions | Edit and Delete buttons |
- Click + in the header to create a new cost center (requires the Manage Ledger Cost Centers permission).
- Click Edit to modify a cost center’s code or description (requires the Manage Ledger Cost Centers permission).
- Click Delete to remove a cost center (requires the Manage Ledger Cost Centers permission).
Create / Edit Cost Center
Section titled “Create / Edit Cost Center”| Field | Required | Description |
|---|---|---|
| Code | Yes | Short identifier for the cost center. Must be unique. |
| Description | Yes | Full name or description |
8. Subledgers
Section titled “8. Subledgers”Navigation: General Ledger → Manage Subledgers
Subledgers are subsidiary ledgers that group related postings (for example, Accounts Receivable, Accounts Payable, Payroll). Each subledger has its own close date range and authorized users, providing granular control over who can post to which subledger and for which periods.
Subledger List
Section titled “Subledger List”| Column | Description |
|---|---|
| Name | Subledger name |
| Close Type | How the subledger is closed (Approval or Password) |
| Start Open Date | The earliest date that can be posted to; editable inline |
| End Open Date | The latest date that can be posted to; editable inline |
| Authorized Users | Users allowed to supply a password to post into a closed period for this subledger (the password-override path); multi-select chips |
| Realtime | If checked, postings appear immediately without batching |
Inline editing: Click on the Start or End date cells to open a date picker and change the date directly. Changes save on blur/accept. Similarly, click the Authorized Users field to add or remove users.
Advance Close Date button (Redo icon): Bumps both the Start and End close dates forward by one month in a single click. Useful during month-end when you are ready to open the next period.
More menu (⋮) per row:
- Edit — Opens the full edit dialog
- Delete — Deletes the subledger after confirmation
Create Subledger
Section titled “Create Subledger”| Field | Required | Description |
|---|---|---|
| Name | Yes | Subledger name |
| Close Type | Yes | Approval or Password |
| Start Open Date | Yes | Earliest postable date |
| End Open Date | Yes | Latest postable date |
| Realtime | No | Whether postings are immediately visible |
Edit Subledger
Section titled “Edit Subledger”The Edit dialog only lets you change Name, Close Type, and Realtime. The Start/End Open Date fields are not in the edit dialog; change them inline in the subledger list grid.
9. Journal Entries (Document Posting)
Section titled “9. Journal Entries (Document Posting)”Navigation: General Ledger → Document Posting
This screen is used to manually post journal entries to the general ledger. Every entry must be in balance (total debits must equal total credits) before it can be posted.
Header Fields
Section titled “Header Fields”| Field | Required | Description |
|---|---|---|
| Date | Yes | Posting date for the journal entry. Auto-focuses when the screen loads. |
| Reverse Date | No | If specified, the system automatically creates a reversing entry on this date. Disabled if Recurring is checked. |
| Reference | Yes | A reference code or description (max 255 characters). You can also type or select a saved template name here — selecting a template loads its line items automatically. |
| Description | No | Optional free-text description of the entry (max 255 characters) |
Recurring Entry Section
Section titled “Recurring Entry Section”Check the Recurring checkbox to convert this entry into a recurring posting schedule.
| Field | Required | Description |
|---|---|---|
| Until | No | Date when recurring entries should stop. If blank, the entry recurs indefinitely. |
| Schedule | No | Monthly or Weekly |
| Interval | No | Frequency multiplier (e.g., Interval = 2 with Monthly schedule = every 2 months) |
Details Tab
Section titled “Details Tab”The entry grid where you add debit and credit lines:
| Column | Required | Description |
|---|---|---|
| Ledger | Conditional | The ledger account. Required if either Debit or Credit is non-zero. |
| Debit | No | Debit amount. Entering a debit disables the credit field for that row. |
| Credit | No | Credit amount. Entering a credit disables the debit field for that row. |
| Reference | No | Per-line reference (max 255 characters) |
| Description | No | Per-line description (max 255 characters) |
| Delete (×) | — | Removes that entry row |
- A new blank row is automatically added when you focus on the last row.
- The footer shows the running totals for Debit and Credit columns.
- Click Post to submit the entry. If the entry is out of balance or empty, an error message is displayed.
Attachments Tab
Section titled “Attachments Tab”Attach supporting documents (e.g., invoices, receipts) to the journal entry. Visible only if you have the View Attachments permission. Attachments are saved with the document when it is posted.
Data Import
Section titled “Data Import”The Upload File button allows bulk-loading of entry lines from an Excel file. Its menu offers Download Template (to get the Excel template) and Upload Data (to import a filled-in file). Importing replaces the current entries grid with the imported rows.
Posting
Section titled “Posting”Click Post to submit the journal entry. The system validates:
- Total debits must equal total credits (otherwise: “Document is out of balance”).
- At least one entry line must have a ledger account (otherwise: “Document is empty”).
On success, a notification appears: Document Posted # [number]. Click Acknowledge to dismiss it. The form resets for the next entry.
10. Document Templates
Section titled “10. Document Templates”Navigation: General Ledger → Manage Document Templates
Document templates are pre-built journal entry patterns that can be loaded into the Journal Entries screen to save time on recurring manual postings.
Template List
Section titled “Template List”| Column | Description |
|---|---|
| Reference | Template identifier (used as the reference when loading) |
| Description | Optional description of the template’s purpose |
| Actions | Edit and Delete buttons |
Create / Edit Template
Section titled “Create / Edit Template”Header fields:
| Field | Required | Description |
|---|---|---|
| Reference | Yes | Unique identifier for the template (max 255 characters) |
| Description | No | Description of the template (max 255 characters) |
Template line items grid:
| Column | Required | Description |
|---|---|---|
| Ledger Account | Yes | The account for this line. Rows left without an account are dropped when the template is saved. |
| Reference | No | Per-line reference text (max 255 characters) |
| Description | No | Per-line description (max 255 characters) |
| Debit | No | Debit amount (mutually exclusive with Credit) |
| Credit | No | Credit amount (mutually exclusive with Debit) |
| Delete | — | Remove this line |
- A new blank row is added automatically as you tab through the last row.
- The Save button is disabled if the template is out of balance. Templates must be balanced (debits = credits) before they can be saved.
11. Recurring Entries
Section titled “11. Recurring Entries”Navigation: General Ledger → Manage Recurring Entries
This screen manages the schedule of recurring journal entries. Recurring entry auto-posting is not currently operational.
Recurring Entry List
Section titled “Recurring Entry List”| Column | Description |
|---|---|
| Reference | Template reference used for the recurring entry |
| Description | Template description |
| Start Date | When the recurring schedule begins |
| Last Posted Date | When the entry was most recently posted |
| Until | When the schedule ends (blank = indefinite) |
| Actions | Edit and Delete buttons |
Create / Edit Recurring Entry
Section titled “Create / Edit Recurring Entry”| Field | Required | Description |
|---|---|---|
| Template | Yes | Select the document template to use for this recurring entry |
| Schedule | Yes | Monthly or Weekly |
| Start Date | Yes | First date the entry should be posted |
| Until | No | Last date the entry should be posted |
| Posting Interval | Yes | Frequency multiplier (minimum 1). For example, Schedule = Monthly and Interval = 3 means once per quarter. |
12. Unapproved Postings
Section titled “12. Unapproved Postings”Navigation: General Ledger → Unapproved Postings
When a subledger’s Close Type is set to Approval, postings routed to that subledger from any module (AR, AP, Jobs, Payroll, etc.) that have not yet been approved appear here. An authorized approver reviews and approves or denies each posting before it is committed to the ledger.
Tab Layout
Section titled “Tab Layout”Postings are organized into tabs by source module. Each tab label includes a badge showing the number of pending postings for that source (e.g., AR 3, AP 7). Click a tab to view postings from that source.
Posting Grid
Section titled “Posting Grid”Each source tab displays a grid of pending postings. The columns vary by source but typically include fields such as:
- Date, Reference, Description
- Customer, Vendor, Job, or other entity links (clickable to open in a new tab)
- Dollar amounts, quantities, percentages
- User — the person who submitted the posting
Click the expand arrow on a row to see its detail entries (individual debit/credit lines) in a secondary grid below.
Approving or Denying Postings
Section titled “Approving or Denying Postings”- Check the checkbox next to one or more postings to select them.
- Selections persist across tabs — you can select postings from multiple sources.
- Click Approve Selected to approve all selected postings. A confirmation dialog appears before the action is taken.
- Click Deny Selected to reject all selected postings. A confirmation dialog appears before the action is taken.
- Both buttons are disabled if no postings are selected.
Approved postings are committed to the general ledger. Denied postings are marked denied and drop out of the pending queue (the row is retained, not deleted). The originating module is not notified.
13. View Ledger Account
Section titled “13. View Ledger Account”Navigation: General Ledger → Manage Ledger Accounts → (click a row)
This screen displays all details for a single ledger account along with its full transaction history.
Account Header
Section titled “Account Header”| Field | Description |
|---|---|
| Ledger ID | The account code |
| Description | Account name |
| Category | Hierarchical category path |
| Cost Center | Associated cost center |
| Type | Income or Balance Sheet |
| Direct Posting Allowed | Whether manual journal entries can post to this account |
| Natural Balance | Debit or Credit |
Transaction History
Section titled “Transaction History”Below the header is the transaction history grid with date range filtering:
- Start Date / End Date — Filter transactions to a specific date range.
- Collapse by Subledger — Group transactions by subledger instead of showing individual lines.
- For Balance Sheet accounts, a Balance Forward line appears at the top showing the net balance as of the start of the selected period.
| Column | Description |
|---|---|
| Date | Transaction date |
| Reference | Document reference |
| Name | Name associated with the transaction |
| Description | Transaction description |
| Debit | Debit amount |
| Credit | Credit amount |
| Balance | Running cumulative balance |
| View Document | Icon link to open the full source document |
Expand a grouped row (when Collapse by Subledger is on) to see individual transactions within that subledger group.
View Ledger Document
Section titled “View Ledger Document”Clicking the View Document (eye) icon on a transaction row opens the View Ledger Document dialog, which shows the complete source document behind that posting — its header and every general ledger line it generated.
The dialog header displays:
| Field | Description |
|---|---|
| Date | The document’s transaction date |
| Document Number | The document number |
| Reference | The document reference. When the document is an AP payment, vendor invoice, or customer invoice, this is a link that opens that record in a new tab |
| Name | The associated customer or vendor. When present, this is a link that opens that record in a new tab |
| Description | The document description |
Below the header, the Details tab lists every GL line of the document, sorted by ledger account:
| Column | Description |
|---|---|
| Ledger Account | The account the line posted to. Click it to open that account’s View Ledger Account screen in a new tab |
| Name | The customer, vendor, employee, or job associated with the line (a link to that record’s view, when present) |
| Reference | The line reference (a link to the source AP payment or invoice, when applicable) |
| Description | The line description |
| Debit | The debit amount |
| Credit | The credit amount |
A second Attachments tab lets you view and manage files attached to the document. This tab only appears for users with the View Attachments permission.
Use Close to dismiss the dialog.
Expanded Transaction Detail
Section titled “Expanded Transaction Detail”When Collapse by Subledger is on, each grouped subledger row can be expanded with the toggle arrow at the left of the row to reveal a child grid listing the individual transactions that make up that group. Rows that have no underlying transactions cannot be expanded.
The expanded detail grid shows the following columns:
| Column | Description |
|---|---|
| Date | Transaction date |
| Reference | Document reference for the individual posting |
| Name | Name associated with the transaction |
| Source | The module or process that generated the posting (for example, the source recorded when the entry was posted, such as a posting-configuration source or “Document Posting”) |
| Description | Transaction description |
| Debit | Debit amount |
| Credit | Credit amount |
| View Document | Icon link to open the full source document |
The Source column makes it possible to see, line by line, which area of the system originated each posting within a collapsed subledger group.
Actions
Section titled “Actions”The Actions dropdown in the top-right contains:
- Edit Ledger Account — Opens the create/edit dialog to modify the account’s properties (requires the Edit Ledger Account permission).
14. Bank Accounts
Section titled “14. Bank Accounts”Navigation: General Ledger → Manage Banks
Bank accounts define the institution and account details used for check printing (AP), ACH transfers, and bank reconciliation. Each bank is linked to a GL ledger account.
Bank List
Section titled “Bank List”| Column | Description |
|---|---|
| Name | Bank name |
| Address | Street address |
| Address 2 | Suite/unit |
| City | City |
| State | State or province |
| Zip | Postal code |
| Check # | Current check number sequence |
| (unlabeled) | Edit and Delete icon buttons per row; the column header holds a Create (+) icon |
Click the expand arrow on a bank row to see its full details:
Left panel: Full address including country.
Right panel:
| Field | Description |
|---|---|
| Account Number | Bank account number |
| Routing Number | ABA routing number |
| Fractional Routing Number | Check fractional routing code |
| Check Number | Current check sequence number |
| Ledger Account | The GL account this bank is tied to |
| ACH Bank ID | ACH bank identifier |
| ACH Company ID | Company ID used in ACH files |
| ACH Bank Name | Bank name as it appears in ACH files |
| ACH Origin Prefix | Single-character prefix for ACH origin |
| ACH Enabled | Whether ACH transfers are active |
| ACH Balanced | Whether ACH file should be balanced |
| Print Checks | Whether checks are printed for this bank |
Create / Edit Bank
Section titled “Create / Edit Bank”| Field | Required | Description |
|---|---|---|
| Name | Yes | Bank institution name (max 255 characters) |
| Address | No | Street address (via Google Places autocomplete) |
| Address 2 | No | Suite, floor, or unit (max 255 characters) |
| City | No | City (max 255 characters) |
| State | No | US addresses use a State dropdown; other countries use a free-text State/Region field |
| ZIP | No | Postal code (max 255 characters) |
| Country | No | Defaults to United States |
| Account Number | No | Bank account number (max 25 characters) |
| Routing Number | No | ABA routing number (max 15 characters) |
| Fractional Routing Number | No | Check fractional code (max 15 characters) |
| Check Number | No | Current check number in sequence |
| Ledger Account | Yes | GL account linked to this bank |
| Default Fee Account | No | GL account for bank fees |
| ACH Company ID | No | ACH company identifier (max 15 characters) |
| ACH Company Name | No | ACH company name (max 23 characters) |
| ACH Bank Name | No | Bank name in ACH file (max 25 characters) |
| ACH Origin Prefix | No | Single-character ACH prefix (max 1 character) |
| ACH Enabled | No | Enable ACH transfers |
| ACH Balanced | No | Create balanced ACH files |
| Print Checks | No | Enable check printing for this bank |
15. Budgets
Section titled “15. Budgets”Navigation: General Ledger → Manage Budgets
Budgets allow you to set target amounts by ledger account and period for comparison against actual results.
Budget List
Section titled “Budget List”| Column | Description |
|---|---|
| Name | Budget name |
| Start Date | First period of the budget |
| End Date | Last period of the budget |
| Finalized | Whether the budget has been locked |
| Closed | Whether the budget period has closed |
| Actions | Edit, Finalize, Close, and Delete buttons |
A finalized or closed budget is locked: its amounts cannot be edited, imported, or deleted until it is unfinalized (Finalize toggles to Unfinalize) or reopened (Close toggles to Reopen).
Click a budget row to open the Budget Amounts detail screen.
Create / Edit Budget
Section titled “Create / Edit Budget”| Field | Required | Description |
|---|---|---|
| Name | Yes | Budget name (max 255 characters) |
| Start Date | Yes | First date of the budget period |
| End Date | Yes | Last date of the budget period |
Budget Amounts
Section titled “Budget Amounts”After creating a budget, click its row in the list to open the Budget Amounts screen. This screen has a dynamic column layout:
- The first column is the Ledger Account (autocomplete, restricted to Income-type accounts).
- The second column is labeled Distribute (internally the equal distribution amount) — enter an amount here to automatically split it evenly across all period columns.
- Remaining columns are one per calendar month within the budget’s date range (e.g., “Jan”, “Feb”, “Mar”). Enter the target amount for each account in each period.
To add a row, click in the blank row at the bottom. To remove a row, click the Delete button on that row.
Click Save to persist all budget amounts. A Data Import button is available to load budget amounts from a CSV or Excel file.
16. Ledger Closings
Section titled “16. Ledger Closings”Navigation: General Ledger → Ledger Closing
This screen shows the history of all GL close operations and allows initiating a new close.
Closing History
Section titled “Closing History”| Column | Description |
|---|---|
| Timestamp Created | When the close was initiated |
| Last Updated | When the close record was last updated |
| Close Date | The date through which the ledger was closed |
| User | The user who performed the close |
History is displayed in reverse chronological order (most recent first). This is a read-only log.
Closing the General Ledger
Section titled “Closing the General Ledger”Click Close Ledger to open the Close General Ledger dialog.
| Field | Required | Description |
|---|---|---|
| Close Date | Yes | The date through which you want to close. When the dialog opens, this field is pre-filled automatically with the earliest Start Close Date found across all subledgers. You can change it before closing, subject to the validation below. |
The pre-filled Close Date is the earliest Start Close Date among all subledgers, so the default value reflects how far the most-behind subledger has been advanced.
To close the ledger:
- Navigate to General Ledger → Ledger Closing and click Close Ledger.
- Review the Close Date, which defaults to the earliest subledger Start Close Date. Adjust it if needed.
- If you see the error All subledgers must be closed to close general ledger, advance any subledger still open within the period (Subledgers → Advance Close Date), then reopen this dialog.
- Click Close Ledger to commit. A new record appears in the Ledger Closings list.
17. Posting Configuration
Section titled “17. Posting Configuration”Navigation: General Ledger → Posting Configuration
Posting configuration defines how transaction types from other modules are routed to specific subledgers. This is typically set up during initial system configuration and rarely changed thereafter.
Configuration List
Section titled “Configuration List”Each posting configuration row shows its Name. Expand a row to see its subledger mappings:
| Column | Description |
|---|---|
| Description | The posting configuration detail description |
| Subledger | The subledger this configuration routes to (editable autocomplete, saves on blur) |
GL Sources
Section titled “GL Sources”The following modules generate GL postings that are routed through the Posting Configuration mappings:
| Source Module | Transaction Types | Typical GL Accounts |
|---|---|---|
| Accounts Payable | Vendor invoices, payments, prepayments, voids | AP Control, configured expense accounts, Cash |
| Accounts Receivable | Sales invoices, cash receipts, deposits, adjustments | AR Control, configured revenue accounts, Cash |
| Inventory | Receiving, adjustments, counts, movement, cost updates | Configured Inventory, Inventory Suspense, Inventory Variance accounts |
| Job Costing | Job expenses, overhead, job close distributions | Expense accounts per job type, contract closing accounts |
| Service | Work order invoicing, service contract billings | Revenue and cost accounts per service configuration |
| Payroll | Payroll runs (earnings, deductions, employer contributions) | Configured wage, employer tax, Cash, and liability accounts |
| Manual (GL) | Journal entries, recurring entries, templates | Any ledger account (subject to direct-posting restrictions) |
Each source module’s postings are routed to the subledger defined in its Posting Configuration row. The subledger’s date window and authorized users control when and by whom postings can be made.
18. Permissions
Section titled “18. Permissions”For the complete list of permissions in this module and what each one allows, see the Permissions Reference.
Access to GL screens and functions is controlled by the following permissions:
| Permission | Actions | Description |
|---|---|---|
| Ledger Account | View, Create, Edit, Delete | Manage chart of accounts |
| Manage Ledger Categories | — | Manage category hierarchy |
| Manage Ledger Cost Centers | — | Manage cost centers |
| Manage Subledgers | — | Manage subledgers; also controls ability to authorize users |
| Manage Banks | — | Manage bank accounts |
| Manage Budgets | — | Manage budgets and budget amounts |
| Manage Ledger Document Templates | — | Manage journal entry templates |
| Manage Recurring Entries | — | Manage recurring entries |
| View General Ledger Balances | — | View running balances in the ledger account detail |
| Unapproved Postings | — | Approve or deny postings on the Unapproved Postings screen |
| View Attachments | — | Enables the Attachments tab on Journal Entries |
19. Worked Examples
Section titled “19. Worked Examples”Example 1: Monthly Rent Accrual via Template
Section titled “Example 1: Monthly Rent Accrual via Template”Scenario: Sarah (Controller) needs to record the $4,500 monthly office rent for Precision Mechanical. She creates a reusable template so the accrual posts automatically each month.
Step 1 — Create the template:
- Navigate to General Ledger → Manage Document Templates and click +.
- Set Reference =
RENT-MONTHLYand Description =Monthly Office Rent Accrual. - Add two lines:
- Line 1: Ledger = 6100 Rent Expense, Debit = $4,500.00
- Line 2: Ledger = 2200 Accrued Liabilities, Credit = $4,500.00
- Footer shows Debit Total = $4,500.00, Credit Total = $4,500.00 — balanced.
- Click Save.
Step 2 — Post using the template:
- Navigate to General Ledger → Document Posting.
- Set Date =
01/31/2026, typeRENT-MONTHLYin the Reference field — the two lines auto-populate. - Click Post. Notification: Document Posted # 4821.
Step 3 — Convert to recurring:
- Navigate to General Ledger → Manage Recurring Entries and click +.
- Select Template =
RENT-MONTHLY, Schedule = Monthly, Interval = 1, Start Date =02/28/2026. - Click Save. The recurring entry is saved for the configured schedule. Note: recurring entry auto-posting is not currently operational; entries must be posted manually.
Result:
| Account | Debit | Credit |
|---|---|---|
| 6100 Rent Expense | $4,500.00 | |
| 2200 Accrued Liabilities | $4,500.00 |
Example 2: Approving Cross-Module Postings
Section titled “Example 2: Approving Cross-Module Postings”Scenario: Mike (GL Manager) logs in Monday morning and sees pending postings from AP, AR, and Payroll that need GL approval before they hit the books.
Step 1 — Review pending postings:
- Navigate to General Ledger → Unapproved Postings.
- The tabs show: AP 5, AR 4, Payroll 3 — 12 total pending postings.
Step 2 — Review AP postings:
- Click the AP tab. Five vendor invoice postings appear.
- Expand the first row (FastPipe Supply, $2,350.00) to verify the GL distribution:
- Debit 5200 Materials Expense $2,350.00
- Credit 2000 AP Control $2,350.00
- Check all five AP postings.
Step 3 — Review AR postings:
- Click the AR tab. Four cash receipt postings appear.
- Expand the first row (Greenfield Construction, $17,000.00):
- Debit 1010 Cash $17,000.00
- Credit 1200 AR Control $17,000.00
- Check all four AR postings.
Step 4 — Review Payroll postings:
- Click the Payroll tab. Three entries from last Friday’s payroll run.
- Expand the first (Wages posting):
- Debit 6010 Wages Expense $24,500.00
- Credit 1010 Cash $19,200.00
- Credit 2100 Federal Tax Payable $5,300.00
- Check all three Payroll postings.
Step 5 — Approve all:
- All 12 postings selected across three tabs.
- Click Approve Selected. A confirmation dialog appears titled Approve Postings asking “Are you sure you want to approve these ledger postings?” (no posting count is shown). Confirm to proceed.
- All 12 entries are committed to the general ledger.
Example 3: Month-End Close (January)
Section titled “Example 3: Month-End Close (January)”Scenario: Sarah (Controller) is closing the books for January 2026. All AP, AR, and Payroll activity has been posted and approved.
Step 1 — Verify subledger dates:
- Navigate to General Ledger → Manage Subledgers.
- Confirm all subledgers have Start Open Date =
02/01/2026or later:- Accounts Payable: Start = 02/01/2026, End = 02/28/2026 ✓
- Accounts Receivable: Start = 02/01/2026, End = 02/28/2026 ✓
- Payroll: Start = 02/01/2026, End = 02/28/2026 ✓
- For any subledger still showing January dates, click the Advance Close Date button (Redo icon) to bump forward one month.
Step 2 — Clear unapproved postings:
- Navigate to General Ledger → Unapproved Postings.
- Verify all tabs show 0 pending items. If any remain, approve or deny them.
Step 3 — Close the ledger:
- Navigate to General Ledger → Ledger Closing and click Close Ledger.
- Enter Close Date =
01/31/2026. - Click Close Ledger. The system:
- Updates the retained earnings balance based on January net income
- Creates a ledger closing record with timestamp and Sarah’s username
Step 4 — Verify:
- Navigate to General Ledger → Ledger Closing.
- Confirm a closing record exists for
01/31/2026with Sarah’s username.
20. Business Rules
Section titled “20. Business Rules”Rules are grouped by category.
Constraints
Section titled “Constraints”- Double-Entry Balance — Journal entry cannot post unless total debits = total credits.
- Close Date Window — Posting dates are validated against each affected subledger’s open-date window (Start/End Close Date). The Master Close Date field in GL Settings is not enforced by the posting engine.
- Prevent Direct Posting — Accounts flagged “Prevent Direct Posting” are hidden from the account lists on the Document Templates, Post Invoice, Issue Check, Post Sale, Post Cash Receipt, and Sales Orders screens. They are also left out of the Ledger list on the Journal Entries (Document Posting) screen. An imported journal entry line that uses a flagged account is rejected with “Account … does not allow direct posting”, and the server refuses to post any journal entry that touches a flagged account.
- Category Mapping Required — All six GL category mappings (Assets, Liabilities, Equity, Income, Cost of Goods Sold, Expense) are required fields in GL Settings and must be configured to save settings. Reports and the GL close do not read them — the income statement and balance sheet use each account’s Type. They are not separately re-validated by the GL close action, which only checks that all subledgers are closed.
Automations
Section titled “Automations”- Template Auto-Load — Typing a template reference in the Journal Entry Reference field auto-populates saved line items.
- Recurring Entry Auto-Post — Recurring entry auto-posting is not currently operational.
- Reversing Entry — If a Reverse Date is set, the system auto-creates a mirror-image reversal entry on that date.
- Retained Earnings Update — GL close updates the retained earnings balance based on net income for the closed period. This is a balance update, not a GL journal entry.
Workflows
Section titled “Workflows”- Subledger Date Windows — Each subledger has its own date window controlling when postings can be made.
- Approval Workflow — When a subledger’s close type is set to “Approval,” postings routed to that subledger enter the Unapproved Postings queue for manual approval before committing to the ledger.
Cross-Module Effects
Section titled “Cross-Module Effects”- Universal Posting Destination — AP, AR, Inventory, Job Costing, Service, and Payroll all post journal entries to GL.
- Posting Configuration Routing — Each module’s transaction types are routed to specific subledgers via Posting Configuration mappings.
21. Troubleshooting / FAQ
Section titled “21. Troubleshooting / FAQ”Q: My journal entry won’t post — I get an error when clicking Post. The entry is out of balance. Check the footer totals: Debit Total must exactly equal Credit Total (see Double-Entry Balance). Add or adjust lines until both sides match.
Q: A module posting (invoice, sale, check, etc.) says the date is closed for posting. On the module posting screens, if the posting date falls outside the destination subledger’s open-date window (see Close Date Window), the system either routes the posting for approval or (for Password-type subledgers) prompts an authorized user for a password. Adjust the subledger’s Start/End open dates on the Subledgers screen, or complete the approval/password step. (Manual journal entries are not close-date checked.)
Q: An account I need doesn’t appear in the Ledger Account autocomplete. Check whether the account has Prevent Direct Posting checked on Manage Ledger Accounts. Flagged accounts are left out of the Journal Entries (Document Posting) Ledger list, as well as the account lists on the Document Templates, Post Invoice, Issue Check, Post Sale, Post Cash Receipt, and Sales Orders screens, because they are reserved for system postings (see Prevent Direct Posting). If the flag is not set, the account may not exist yet, or the account list may not have finished loading when you opened the screen.
Q: I want to close the GL but subledger date windows are still open. As a best practice, advance subledger date windows past the close date before closing the GL. Navigate to Subledgers, find any subledger still showing dates within the period you’re closing, and click Advance Close Date to bump it forward.
Q: A user can’t post to a specific subledger. While the subledger period is open, any user can post; the Authorized Users field does not restrict normal posting. That list only governs who may enter a password to post into a closed period (the password-override path). If a user needs that override ability, add them to Authorized Users on the subledger record — the change takes effect immediately.
Q: Unapproved postings are blocking my month-end close. Navigate to Unapproved Postings and review each tab (AP, AR, Payroll). Approve or deny all pending items before attempting the GL close to ensure all transactions are reflected in the closed period.
Q: My recurring entry didn’t auto-post. Recurring entry auto-posting is not currently operational. Recurring entries must be posted manually.
Q: I need to correct an entry in a closed period. You cannot post directly to a closed period. Instead, create a reversing entry and a correcting entry in the current open period. Use a Reverse Date on the original entry template to auto-generate the reversal.
22. Business Overview
Section titled “22. Business Overview”Navigation: General Ledger → Business Overview (the first item under General Ledger)
Business Overview is a built-in dashboard that summarizes the health of the business at a glance — receivables, payables, cash in the bank, service, jobs, sales, inventory, and payroll on a single screen. ServiSuite composes it from the widget catalog for every viewer, so every organization gets the same figures and a new one has a company-wide view on day one. It is a dashboard like the ones described in the Dashboards module, with one difference: its widget set is fixed, and each viewer arranges it for themselves.
What it shows
Section titled “What it shows”A Filters control (Period, Customer, Vendor), seventeen KPI numbers, one tile per bank cash account, and eleven charts. Every tile is the catalog widget of the same name, defined in Dashboards → The widget catalog.
KPI tiles
- Cash in and out — Open A/R and Overdue A/R, Open A/P and Past-due A/P (each with its invoice count), and Net cash position (open A/R minus open A/P)
- Operations — Open work orders, Open jobs, Job backlog, Open pipeline value
- Counts and ratios — Unpaid invoices, Open contract value (with approved and pending change orders), Active employees, Average days outstanding, Inventory value, Margin on open jobs, Cost to date vs estimate, Billed and collected on open jobs
Bank balances — one tile per GL cash account your live banks post to, showing that account’s book balance as of today. Banks that share a cash account report the same balance.
Charts — Invoiced vs collected by month and Payments out by month (over the Period); A/R aging and A/P aging (as the Schedules of A/R and A/P bucket them, with retention and prepayments shown alongside the bands); Who owes the most and Who you owe the most; Work orders by status; Open vs closed jobs; Contract value by type; Leads by stage; Converted leads by creation month.
Open balances are posted balances as of today (the invoice’s postings), keyed-off documents are excluded, and aging follows the due date — the same rules as the Schedule reports, so a tile and the report agree. See How the A/R and A/P figures are defined.
Filters and shareable links
Section titled “Filters and shareable links”The Filters control sets the reporting Period (a date range that defaults to This Year) and, optionally, a Customer and a Vendor. Period-based charts update to match; balance and aging tiles always reflect today; the customer and vendor narrow Who owes the most and Who you owe the most.
The filter state is reflected in the page’s web address, so copying the link and sharing it reproduces the same filters for whoever opens it.
Arranging the dashboard
Section titled “Arranging the dashboard”Click Edit to move and resize tiles (drag the title bar, drag the bottom-right corner), set a tile’s title or accent color from its settings gear, and Save. The arrangement is saved for you alone and comes back every time you open the screen; other users see their own arrangement, or the standard layout. The widget set and the filters are fixed: there is no Add Widget, no Remove and no Parameters button, and the Business Overview is never listed with your dashboards or shared. To go further, build a dashboard of your own from the same catalog widgets.
23. Tips & Notes
Section titled “23. Tips & Notes”Month-End Close Workflow
Section titled “Month-End Close Workflow”- Ensure all AP and AR transactions for the period have been posted and approved.
- Navigate to Subledgers and verify the End Open Date for each subledger has passed (or advance it with the Advance Close Date button).
- If using the Approval close type, go to Unapproved Postings and approve or deny all pending items.
- Navigate to Ledger Closings and click Close Ledger. Enter the close date (last day of the period).
- Confirm that a closing record appears in the Ledger Closings list.
Using Templates for Recurring Accruals
Section titled “Using Templates for Recurring Accruals”- Create a Document Template for the accrual (e.g., “Monthly Rent Accrual”) with the debit to the expense account and credit to the accrued liability account.
- On the Journal Entries screen, type the template reference in the Reference field to load it.
- Alternatively, set up a Recurring Entry that references the template. Note: recurring entry auto-posting is not currently operational.
Balancing Entries
Section titled “Balancing Entries”The system will not post a journal entry unless debits exactly equal credits. Watch the footer totals in the entry grid as you work. If the entry is out of balance, the system shows a “Document is out of balance” error when you click Post.
Subledger Authorization
Section titled “Subledger Authorization”The Authorized Users field on the Subledger record does not control normal posting — while the period is open, any user can post. It controls who may supply a password to post into a closed period (the password-override path). To grant a user that override ability, add them to the list; changes take effect immediately.
Budget vs. Actual Reporting
Section titled “Budget vs. Actual Reporting”Set up a budget in Budgets that covers your fiscal year. Enter monthly targets per ledger account. The system compares these targets against actual postings for management reporting. Use the Distribute column to spread an annual target evenly across all months with a single entry.
Direct Posting Restrictions
Section titled “Direct Posting Restrictions”If an account has Prevent Direct Posting checked, it is omitted from the account lists on the Document Templates, Post Invoice, Issue Check, Post Sale, Post Cash Receipt, and Sales Orders screens. It is also left out of the Ledger list on the Journal Entries (Document Posting) screen, imported journal entry lines that use it are rejected, and the server refuses a manual journal entry that posts to it. Flag your control accounts (such as the AR and AP control accounts) so they can only be changed by the modules that own them.