---
title: "Accounting"
url: https://flexie.io/resources/finance/accounting
description: "Behind every invoice and every payment, Flexie writes the bookkeeping for you. Chart of accounts, double-entry journal entries, balance sheet, all kept in step with what you've billed and what you've collected."
---

# Accounting

Last updated 26 May 2026

![A Flexie chart of accounts on the left and a journal entry on the right showing debits and credits](https://flexie.io/image/resources/finance-accounting.png)

Behind every invoice and every payment, Flexie writes the bookkeeping for you. Your books stay balanced and accurate, no separate software, no manual entry.

## Why automatic bookkeeping matters

The classic problem: your CRM tracks invoices, but your bookkeeper uses a separate accounting package. Every month, somebody copies the numbers across, makes mistakes, and the two systems drift apart.

Flexie handles both. When you finalise an invoice or record a payment, the right journal entries land in your books automatically. The customer-facing side (quotes, invoices, payments) and the accountant-facing side (chart of accounts, journal, balance sheet) are the **same data**, just viewed differently.

## The chart of accounts

The **chart of accounts** is the list of every "bucket" your business uses to track money. Each bucket is an **account**, with a **type**:

| Type            | What it tracks    | Examples                                                                         |
| --------------- | ----------------- | -------------------------------------------------------------------------------- |
| **Assets**      | Things you own    | Cash, Accounts Receivable (money customers owe you), Inventory, Office Equipment |
| **Liabilities** | Things you owe    | Accounts Payable (money you owe suppliers), Sales Tax Payable, Loans             |
| **Equity**      | The owner's stake | Owner's Capital, Retained Earnings                                               |
| **Revenue**     | Money coming in   | Sales of Hardware, Service Revenue, Consulting Income                            |
| **Expenses**    | Money going out   | Rent, Salaries, Cost of Goods Sold, Office Supplies                              |

Each account has:

* A **name** (e.g. _"Service Revenue"_).
* A **code** (e.g. _4100_), a number for ordering and matching against accounting standards.
* A **type** (one of the five above).
* A running **balance**.
* Optionally a **parent account**, to build hierarchies (e.g. _Revenue → Hardware Sales → Laptops_).

You can add accounts, rename them, organise them into hierarchies. Most accounts come with a sensible default chart based on common practice; you'll usually only need to add accounts when your business does something specific (a new revenue stream, a new expense category).

## Double-entry, in plain terms

Every financial event in your books touches **at least two accounts**, one is **debited** (increased, if it's an asset or expense) and one is **credited** (increased, if it's a liability, equity, or revenue). The two amounts are always equal, which is what keeps your books **balanced**.

You don't have to think about this when using Flexie, the system writes the entries for you. But understanding the shape helps when you read the journal or the balance sheet.

A few common shapes:

### Finalising an invoice

A £600 invoice (£500 + £100 VAT):

|            | Account             | Amount | Note                   |
| ---------- | ------------------- | ------ | ---------------------- |
| **Debit**  | Accounts Receivable | £600   | customer owes you £600 |
| **Credit** | Service Revenue     | £500   | you earned £500        |
| **Credit** | Sales Tax Payable   | £100   | you owe HMRC £100      |

Both sides total £600, balanced.

### Recording a full payment

The customer pays the £600 invoice:

|            | Account             | Amount | Note                        |
| ---------- | ------------------- | ------ | --------------------------- |
| **Debit**  | Cash (or Bank)      | £600   | £600 came in                |
| **Credit** | Accounts Receivable | £600   | customer no longer owes you |

### Recording a partial payment

The customer pays £400 of the £600:

|            | Account             | Amount |
| ---------- | ------------------- | ------ |
| **Debit**  | Cash (or Bank)      | £400   |
| **Credit** | Accounts Receivable | £400   |

Accounts Receivable now reflects £200 still owed.

### Voiding a payment

Undoing the £400 payment above:

|            | Account             | Amount | Note                           |
| ---------- | ------------------- | ------ | ------------------------------ |
| **Debit**  | Accounts Receivable | £400   | customer owes the £400 again   |
| **Credit** | Cash (or Bank)      | £400   | cash effectively goes back out |

The original entries aren't deleted, the reversal sits next to them in the journal, so the audit trail is intact.

### Credit memo

A £150 credit memo against an invoice:

|            | Account             | Amount | Note                  |
| ---------- | ------------------- | ------ | --------------------- |
| **Debit**  | Service Revenue     | £125   | revenue reduced       |
| **Debit**  | Sales Tax Payable   | £25    | VAT liability reduced |
| **Credit** | Accounts Receivable | £150   | customer owes less    |

## Down payments, the bookkeeping detail

Down payments raised through [Convert to Cash](https://flexie.io/resources/finance/convert-to-cash) are booked correctly without you having to think about them.

When you raise a 30% deposit on a £10,000 + 20% VAT quote (so a £3,600 deposit including £600 VAT):

|            | Account                      | Amount | Note                                        |
| ---------- | ---------------------------- | ------ | ------------------------------------------- |
| **Debit**  | Accounts Receivable          | £3,600 |                                             |
| **Credit** | Customer Deposits / Advances | £3,000 | held as a liability, not yet earned revenue |
| **Credit** | Sales Tax Payable            | £600   |                                             |

The deposit sits in a **Customer Deposits** account (a liability) because the work hasn't been done yet, the customer's money is held against future delivery.

When you raise the **final balance invoice** (the one that turns all the lines into actual revenue), Flexie _moves_ the down payment from the Customer Deposits account into revenue:

|            | Account                      | Amount | Note                                         |
| ---------- | ---------------------------- | ------ | -------------------------------------------- |
| **Debit**  | Customer Deposits / Advances | £3,000 | deposit cleared                              |
| **Debit**  | Accounts Receivable          | £4,800 | balance owed for final invoice               |
| **Credit** | Service Revenue              | £6,500 | total revenue now earned (after the deposit) |
| **Credit** | Sales Tax Payable            | £1,300 | rest of VAT                                  |

End state: revenue is recognised correctly at the moment of delivery, the deposit liability is cleared, the customer's AR shows just the balance still owed.

> You don't have to set any of this up per invoice. Once your chart of accounts includes the Customer Deposits / Customer Advances account and your administrator has mapped it, the Convert to Cash flow uses it automatically.

## What each step posts

Quick reference for what touches the books and what doesn't:

| Action                     | Posts to the books?                                                     |
| -------------------------- | ----------------------------------------------------------------------- |
| Create a quote             | **No**, quotes are pre-financial.                                       |
| Edit a quote               | **No.**                                                                 |
| Cancel a quote             | **No.**                                                                 |
| Create a draft invoice     | **No**, drafts are pre-financial.                                       |
| **Finalise an invoice**    | **Yes**, AR is debited, revenue + tax are credited.                     |
| Edit a finalised invoice   | Not directly editable; use a credit memo.                               |
| **Record a payment**       | **Yes**, Cash is debited, AR is credited.                               |
| **Void a payment**         | **Yes**, the original payment entry is reversed.                        |
| **Finalise a credit memo** | **Yes**, revenue + tax are debited (reduced), AR is credited (reduced). |

## Mapping products to accounts

Each product can point to:

* A **revenue account**, where this product's revenue lands (e.g. _Hardware Sales_ or _Service Revenue_).
* An **expense account**, where the product's cost of goods sold lands (for margin reporting).
* An **inventory asset account**, where the value of stock on hand sits on the balance sheet (physical products only).

See [Products → Accounting](https://flexie.io/resources/finance/products#accounting).

You don't have to map every product. Products without explicit mappings use the account defaults set by your administrator.

## Mapping taxes to accounts

Each tax points to:

* A **sales tax account**, where output tax (what you've charged customers and owe to the tax authority) sits.
* A **purchase tax account**, where input tax (what you've paid suppliers and can reclaim) sits.

See [Taxes → Where the money goes](https://flexie.io/resources/finance/taxes#where-the-money-goes).

When you eventually pay the tax authority, record that as a payment against the sales tax account, which clears the liability.

## The Journal

The journal is the chronological list of every entry posted to your books, by invoice, by payment, by void, by credit memo. Each journal entry shows:

* The **date**.
* The **transaction type**, invoice, payment, void, credit memo.
* The **reference**, the invoice or payment number it relates to.
* The **accounts touched**, with their debit and credit amounts.
* A **description** (e.g. _"Invoice INV-1042"_).

Filter by date range, account, transaction type. Export to CSV for your accountant.

## The Balance Sheet

A point-in-time view of your business's financial position:

| Section         | Account                        | Amount        |
| --------------- | ------------------------------ | ------------- |
| **Assets**      | Cash                           | £42,310       |
|                 | Accounts Receivable            | £18,500       |
|                 | Inventory                      | £35,200       |
|                 | **Total Assets**               | **£96,010**   |
| **Liabilities** | Accounts Payable               | £4,200        |
|                 | Sales Tax Payable              | £3,650        |
|                 | Customer Deposits              | £1,200        |
|                 | **Total Liabilities**          | **£9,050**    |
| **Equity**      | Owner's Capital                | £50,000       |
|                 | Retained Earnings              | £36,960       |
|                 | **Total Equity**               | **£86,960**   |
|                 | **Total Liabilities + Equity** | **£96,010** ✓ |

The balance sheet adds up, every time, automatically, because every transaction touches two accounts with equal amounts. If yours doesn't balance, something's wrong with the data (rare; ask your administrator).

## Gotchas

* **Drafts don't count.** A draft invoice isn't in your books. Your _AR_ and _Revenue_ only reflect finalised invoices. This matters at month-end, make sure you've finalised everything before checking the books.
* **Voids and credit memos are different.** A void undoes a payment (cancels the inbound money). A credit memo undoes part of an invoice (cancels what was billed). Use whichever matches what actually happened.
* **Foreign currencies and gains / losses.** An invoice in EUR raised at one exchange rate, paid at another → the difference is recorded as a foreign-exchange gain or loss. Flexie handles this automatically.
* **Editing a finalised invoice's amount is restricted on purpose.** It would change the books retroactively. Use a credit memo or a new invoice instead, both preserve the audit trail.
* **Custom account mappings need to happen _before_ the invoice is finalised.** Changing a product's revenue account doesn't move past invoices' postings to the new account; only new invoices use the new mapping.

## Next

* [Finance overview](https://flexie.io/resources/finance/overview): the big picture.
* [Reports](https://flexie.io/resources/reports/overview): sales by month, AR aging, top customers, anything else you'd build from the data behind the journal.
