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

# Chart of accounts

## Overview

Zenskar provides a structured **chart of accounts** system that organizes financial data into [five main categories](https://courses.lumenlearning.com/suny-finaccounting/chapter/assets-liabilities-and-owners-equity/). This hierarchical structure ensures consistent financial reporting and seamless integration with your accounting workflows.

## Account categories

<br />

```mermaid theme={null}
graph LR
    %% Left side - Assets accounts
    AR[Accounts Receivable] --- Assets
    CustAsset[Customers] --- AR
    PGAsset[Payment Gateways] --- AR
    Cash[Cash] --- Assets
    TDS[TDS Receivable] --- Assets
    UR[Unbilled Revenue] --- Assets
    
    %% Left side - Expenses accounts
    GST[GST] --- Expenses
    PGF[Payment Gateway Fees] --- Expenses
    SRA[Sales Returns and Allowances] --- Expenses
    TW[Tax Withheld] --- Expenses
    
    %% Left categories to center
    Assets[ASSETS] --- COA
    Expenses[EXPENSES] --- COA
    
    %% Center node
    COA[Chart of<br/>Accounts]
    
    %% Right categories from center
    COA --- Liabilities[LIABILITIES]
    COA --- Equity[EQUITY]
    COA --- Income[INCOME]
    
    %% Right side - Liabilities accounts
    Liabilities --- AP[Accounts Payable]
    Liabilities --- CAR[Contra Accounts Receivable]
    CAR --- CustLiab[Customers]
    CAR --- PGLiab[Payment Gateways]
    Liabilities --- CW[Customer Wallet]
    Liabilities --- DR[Deferred Revenue]
    Liabilities --- ST[Sales Tax]
    
    %% Right side - Equity accounts
    Equity --- RE[Retained Earnings]
    
    %% Right side - Income accounts
    Income --- SSR[Sales and Services Revenue]
    Income --- Custom[Custom Accounts]
    
    Custom --- Note[Custom accounts<br/>fully functional]
    
    classDef rootClass fill:#37474f,stroke:#263238,stroke-width:3px,color:#fff
    classDef categoryClass fill:#e0e0e0,stroke:#666,stroke-width:2px,font-weight:bold
    classDef accountClass fill:#f9f9f9,stroke:#999,stroke-width:1px
    classDef subAccountClass fill:#f5f5f5,stroke:#bbb,stroke-width:1px,stroke-dasharray: 2 2
    classDef incomeCategory fill:#e8f5e9,stroke:#2e7d32,stroke-width:3px
    classDef customClass fill:#fff3e0,stroke:#f57c00,stroke-width:2px,stroke-dasharray: 5 5
    classDef noteClass fill:#fffde7,stroke:#f57f17,stroke-width:1px,stroke-dasharray: 3 3
    
    class COA rootClass
    class Assets,Liabilities,Equity,Expenses categoryClass
    class Income incomeCategory
    class AR,Cash,TDS,UR,AP,CAR,CW,DR,ST,RE,SSR,GST,PGF,SRA,TW accountClass
    class CustAsset,PGAsset,CustLiab,PGLiab subAccountClass
    class Custom customClass
    class Note noteClass
```

The chart of accounts in Zenskar is organized into five primary categories. Default Zenskar accounts work according to industry-standard conventions across all categories.

| Category    | Description                                | Custom accounts support                      |
| ----------- | ------------------------------------------ | -------------------------------------------- |
| Assets      | Resources owned by your business           | Can be created but not yet functional        |
| Liabilities | Obligations or debts owed by your business | Can be created but not yet functional        |
| Equity      | Owner's interest in the business           | Can be created but not yet functional        |
| **Income**  | **Revenue and other income sources**       | **Fully functional for revenue recognition** |
| Expenses    | Costs and expenditures                     | Can be created but not yet functional        |

## Current capabilities

### Implementation rationale

Custom account functionality was initially developed for Income accounts to address immediate client needs for multiple revenue streams. This focused approach allows businesses to differentiate revenue types while the broader custom rules engine is being developed for other account categories.

### User-defined accounts

User-defined accounts are fully functional only in the Income category, where they integrate seamlessly with revenue recognition workflows. While the interface allows creating accounts in other categories, automated rule functionality for these accounts is under development. Income accounts were prioritized to support clients needing multiple revenue accounts for different revenue streams.

#### Account management constraints

Accounts cannot be renamed or deleted once created to maintain audit trail integrity and ensure consistent financial reporting. This design preserves the historical accuracy of all transactions and prevents accidental data loss or reporting inconsistencies.

#### Creating custom income accounts

To create a custom income account:

1. Click **Accounting** in the side panel.
2. On the **Accounting** page, click the **Chart of Accounts** link at the bottom of the page.
3. On the **Chart of Accounts** page, click the **+ ACCOUNT** button to create a new custom account by defining its name and properties.
4. Once you save the configuration, the account becomes available system-wide for use in revenue rules and other income-related features.

#### Using custom income accounts

Custom income accounts integrate directly with revenue recognition through the revenue rule configuration:

| Feature                 | Usage                                                                         | Purpose                                              |
| ----------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------- |
| Create revenue rule     | Select any Income account (custom or default) in the revenue account dropdown | Define POBs and route revenue to specific accounts   |
| Revenue distribution    | Configure how revenue flows to the selected account                           | Control timing and allocation of revenue recognition |
| Performance obligations | Automatically inherit the account from their parent revenue rule              | Ensure consistent revenue tracking across all POBs   |

When you select a custom income account in a revenue rule, all POBs generated from that rule will post their revenue to the selected account. This provides complete control over revenue categorization and reporting.

### Zenskar-defined accounts

Zenskar provides pre-defined accounts across all categories that function according to industry-standard accounting conventions. These accounts handle standard financial workflows automatically, ensuring that transactions are properly categorized without manual configuration.

#### Default accounts available

| Category        | Account name                 | Purpose                                             |
| --------------- | ---------------------------- | --------------------------------------------------- |
| **Assets**      | Accounts Receivable          | Tracks money owed by customers for invoiced amounts |
|                 | ├─ Customers                 | Customer-related asset tracking and balances        |
|                 | ├─ Payment Gateways          | Payment processor balances and settlements          |
|                 | Cash                         | Liquid cash holdings and bank accounts              |
|                 | TDS Receivable               | Tax deducted at source claims                       |
|                 | Unbilled Revenue             | Recognized revenue not yet invoiced                 |
| **Liabilities** | Accounts Payable             | Amounts owed to suppliers and vendors               |
|                 | Contra Accounts Receivable   | Offset account for receivables adjustments          |
|                 | ├─ Customers                 | Customer credit balances and prepayments            |
|                 | ├─ Payment Gateways          | Payment processor obligations                       |
|                 | Customer Wallet              | Prepaid customer balances                           |
|                 | Deferred Revenue             | Payments received for future obligations            |
|                 | Sales Tax                    | Collected tax obligations                           |
| **Equity**      | Retained Earnings            | Accumulated profits retained in the business        |
| **Income**      | Sales and Services Revenue   | Primary revenue from sales and services             |
| **Expenses**    | GST                          | Goods and services tax expenses                     |
|                 | Payment Gateway Fees         | Transaction processing costs                        |
|                 | Sales Returns and Allowances | Revenue reductions from returns and discounts       |
|                 | Tax Withheld                 | Tax deduction expenses                              |

When no custom accounts are created, revenue recognition and all other financial processes work seamlessly with the default account structure. The system automatically routes transactions to appropriate accounts based on industry-standard logic, requiring no manual intervention for typical use cases.

## Revenue rule integration

The Revenue Rule Library feature leverages the account hierarchy to define performance obligation bundles (POBs) and enable sophisticated revenue recognition workflows.

1. Click **Accounting** in the side panel.
2. On the **Accounting** page, click **Revenue Rule Library** link located at the bottom of the page.
3. On the **Revenue Rule Library** page, click **CREATE NEW REVENUE RULE** button.

### Rule configuration components

| Component            | Function                               | Account integration                                     |
| -------------------- | -------------------------------------- | ------------------------------------------------------- |
| Rule information     | Define the POB details and obligations | Sets context for account usage                          |
| Criteria             | Map products to the POB                | Determines which products contribute to this obligation |
| Revenue account      | Select target account                  | Uses both custom and Zenskar-defined income accounts    |
| Revenue distribution | Configure satisfaction type            | Controls timing of revenue recognition                  |

### Revenue account selection

When creating a revenue rule, the Revenue Account dropdown displays all available Income accounts, including both Zenskar-defined accounts and any custom income accounts you have created. This selection determines where revenue from the POB will be recorded. The revenue rule defines how products are bundled into a performance obligation and which account tracks the associated revenue.

#### Note on double-entry bookkeeping

While every transaction must affect at least two accounts to maintain balanced books, revenue rules only require you to specify the Income account. Zenskar automatically determines the corresponding debit account based on the transaction context:

| Transaction context         | Automatic debit entry        | Your selected credit entry |
| --------------------------- | ---------------------------- | -------------------------- |
| Invoice issued              | Accounts Receivable (Asset)  | Selected Income account    |
| Payment received            | Cash (Asset)                 | Selected Income account    |
| Deferred revenue recognized | Deferred Revenue (Liability) | Selected Income account    |

The system handles these standard accounting patterns automatically, allowing you to focus on categorizing revenue into the appropriate Income accounts for your business needs.

## Current features and upcoming enhancements

### Available functionality

| Capability                       | Income category                   | Other categories                            |
| -------------------------------- | --------------------------------- | ------------------------------------------- |
| View Zenskar-defined accounts    | Supported                         | Supported                                   |
| Create custom accounts           | Supported                         | Interface available, automation coming soon |
| Use custom accounts in workflows | Fully functional in revenue rules | Under development                           |
| Modify account names             | Protected for audit trail         | Protected for audit trail                   |
| Delete accounts                  | Protected for audit trail         | Protected for audit trail                   |
| Automated transaction routing    | Supported for all accounts        | Supported for Zenskar accounts only         |

### Upcoming features

Custom rules functionality is being developed to enable full utilization of user-defined accounts across all categories. Once complete, you will be able to create automated rules that route transactions to custom accounts in Assets, Liabilities, Equity, and Expenses categories. Additional enhancements include multi-level account hierarchies and industry-specific templates for faster setup.

## Best practices

### Working with current capabilities

| Practice                 | Recommendation                                        | Benefit                                   |
| ------------------------ | ----------------------------------------------------- | ----------------------------------------- |
| Income account structure | Create detailed accounts aligned with revenue streams | Improved revenue tracking and reporting   |
| Naming conventions       | Use clear, descriptive names for custom accounts      | Easier identification and reduced errors  |
| Documentation            | Record the purpose of each custom account             | Maintains consistency across team members |
| Testing                  | Validate revenue rules with different scenarios       | Ensures accurate revenue recognition      |

### Preparing for expanded capabilities

Since custom accounts in non-Income categories will become functional with upcoming custom rules features, consider documenting your requirements now. Identify specific transaction routing needs that will benefit from custom accounts and establish naming conventions that will scale across all account categories. While you can create these accounts today in preparation, they will become operational once the automated rules engine is extended to support them.

## Integration considerations

### System dependencies

| Component           | Relationship to accounts          | Impact                                    |
| ------------------- | --------------------------------- | ----------------------------------------- |
| Revenue recognition | Directly uses income accounts     | Critical for accurate financial reporting |
| Financial reporting | Aggregates data from all accounts | Determines report accuracy                |
| Billing workflows   | May reference income accounts     | Affects invoice line items                |
| Analytics           | Uses account data for metrics     | Influences business insights              |

### Data flow

Revenue flows through the account hierarchy from initial transaction to final reporting. Revenue rules define performance obligation bundles, and products mapped within these rules generate transactions that are recorded in the specified income accounts, which then feed into financial reports and analytics dashboards.

## Related documentation

For more information on working with accounts and revenue recognition in Zenskar, refer to the following resources:

| Resource                     | Description                                                    |
| ---------------------------- | -------------------------------------------------------------- |
| Creating revenue rules       | Detailed guide on defining POBs and revenue rule configuration |
| Revenue recognition overview | Understanding performance obligation bundles                   |
| Financial reporting          | Using account data in reports                                  |
| API reference                | Programmatic account access                                    |
