Chart of accounts file
The file Chart of accounts (chart_of_accounts) gives the groups and the posting accounts of a company. A group has accounts under it. A posting account takes entries.
Rules of the rows
- The chart has 1 to 6 levels. The level comes from the parent account. An account without a parent is at level 1.
- Level 1 has one group for each class: asset, liability, equity, revenue and expense. The accounts under a level-1 group get its class.
- The code of an account under a group starts with the code of the group and "-". For example,
1-01-02-001is under1-01-02. - A posting account must have a type of its class and a statement line. The line must have no lines under it and must be on the statement of the class: the balance sheet for asset, liability and equity, the income statement for revenue and expense.
- A posting account of the type
inventory(stock) never takes journal vouchers. Its opening balance goes on the opening balance clearing account (see Account balances). - The chart needs one account of each of these types for the posting accounts:
accounts_receivable(the customers),accounts_payable(the suppliers),retained_earnings,opening_balance_clearingand, for a migration,migration_difference. - Caution: The first import of accounts removes the accounts and the posting accounts of the standard chart. Then import the posting accounts.
- The import is possible only while the company is Migrating and has no journal entry. A party, a cash or bank account or a draft document that uses an account of the standard chart stops the import.
A second file
To change the accounts of an earlier file, select Update rows that an import made. The second file can change the name, the statement line, allow_manual_posting and is_active. It cannot change the parent, the group or posting kind, or the type.
Rules of the file
- Row 1 has the column names. Do not change them. The data starts on row 2.
- Write the data on the sheet "chart_of_accounts". The system reads the sheet "chart_of_accounts", or else the first sheet.
- A column that is not necessary can stay empty. You can remove a column that is not necessary.
- A file can have at most 100,000 data rows and 20 MB. Put more data in more than one file.
- Codes and other text: write them as text. Excel keeps a code such as 001 only in a text cell.
- Y means yes and N means no. A list column takes more than one value, separated by ";".
- Do not write formulas. The system reads the values only.
Columns of the file (version 1)
| Column | Necessary | Type | Meaning | Values | Example |
|---|---|---|---|---|---|
account_code |
Yes | code, at most 32 characters | The code of the account. The code of an account under a group starts with the code of the group and "-". | 1-01-01-001 |
|
account_name |
Yes | text, at most 200 characters | The name of the account. | Cash in hand |
|
parent_code |
No | code, at most 32 characters | The code of the group above the account. Keep it empty for an account at level 1. | 1-01-01 |
|
account_class |
No | one value of the list | asset, liability, equity, revenue or expense. Necessary at level 1. The accounts under it get the same class. | asset, liability, equity, revenue, expense |
asset |
is_postable |
Yes | Y or N | Y for a posting account (it takes entries), N for a group (it has accounts under it). | Y, N |
Y |
account_type |
No | one value of the list | The type of a posting account. It decides the statements and the checks of the postings. It must be a type of the class. | cash, bank, accounts_receivable, other_receivable, inventory, advance_prepayment, tax_receivable, other_current_asset, fixed_asset, accumulated_depreciation, other_non_current_asset, accounts_payable, employee_payable, accrued_liability, tax_payable, customer_advance, loan, other_current_liability, other_non_current_liability, capital, owner_drawings, retained_earnings, opening_balance_clearing, migration_difference, sales, sales_discount, sales_returns, other_income, cogs, inventory_cost_adjustment, inventory_shrinkage, purchase_price_variance, cash_over_short, operating_expense, finance_cost, tax_expense, rounding |
cash |
line_code |
No | code, at most 16 characters | The statement line of a posting account. Use a line without lines under it, on the statement of the class. | BS-A-C-CB |
|
allow_manual_posting |
No | Y or N | N: journal vouchers cannot use the account. Empty: Y. A stock account is always N. | Y, N |
Y |
is_active |
No | Y or N | N: the account is deactivated. Empty: Y. | Y, N |
Y |
source_note |
No | text, at most 100 characters | A note that identifies the row in your source. The system shows it in the messages, and it does not keep it. | chart:001 |
Example
A file with one row, in CSV format. Row 1 has the column names.
account_code,account_name,parent_code,account_class,is_postable,account_type,line_code,allow_manual_posting,is_active,source_note
1-01-01-001,Cash in hand,1-01-01,asset,Y,cash,BS-A-C-CB,Y,Y,chart:001