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

# Purchase Bills (Accounts Payable)

> A bill records what your business owes a vendor for goods or services you've received.

A **bill** records what your business owes a vendor for goods or services you've received. Entering a bill creates a payable: it tells the system you have an obligation to pay, posts the cost to your accounts, and lets you track and settle the amount over time. Use bills whenever a supplier sends you an invoice that you'll pay later (as opposed to paying on the spot — for that, see [Expenses](/accounting/user/transactions/expenses) or [Petty Cash](/accounting/user/transactions/petty-cash)).

You'll find this at: `/accounting/bills`

In the navigation this is labelled **Bills (AP)** under Finance → Payables.

> 📷 *Screenshot: Bills list page showing vendor, bill number, due date, status and balance columns — to be added.*

***

## When to use a bill

* A supplier has delivered goods or completed work and sent you an invoice payable on terms (e.g. "due in 30 days").
* You want the cost recognised in your books now, with the payment recorded separately when it actually goes out.
* You need to track outstanding amounts owed per vendor (your Accounts Payable).

If the purchase is tied to a **Purchase Order**, link the bill to that PO so the system can reconcile what was ordered, received and billed (a 3-way match). See [Behind the scenes](#behind-the-scenes-the-accounting) below for how PO-linked bills post differently.

***

## The bill lifecycle (statuses)

Every bill moves through a workflow. The status is shown on the list and detail pages and controls what you can do next.

| Status (what you see) | Meaning                                                                         |
| --------------------- | ------------------------------------------------------------------------------- |
| **Draft**             | Created but not yet submitted. Fully editable. Only Draft bills can be deleted. |
| **PendingFinance**    | Submitted and awaiting approval. Still editable until approved.                 |
| **Approved**          | Approved and posted to the ledger. The payable now exists in your accounts.     |
| **PartiallyPaid**     | One or more payments recorded, but a balance remains.                           |
| **Paid**              | Fully settled.                                                                  |
| **Overdue**           | Past its due date and not fully paid.                                           |
| **Void**              | Cancelled. Any posted ledger impact has been reversed.                          |

There is a second, parallel concept called **docstatus** (Draft → Submitted → Cancelled) that locks the record against edits once submitted and unlocks the **Amend** action. You don't set it directly — it moves as you submit, approve and pay.

***

## Recording a bill — step by step

1. Go to **Bills (AP)** (`/accounting/bills`) and choose **New Bill**.
2. Fill in the header fields:
   * **Vendor** — required. Pick the supplier (a Contact). Their name is snapshotted onto the bill.
   * **Bill date** — required. The date on the supplier's invoice; this is the posting date used in the ledger.
   * **Due date** — required. When payment is owed. Drives the Overdue status.
   * **Purchase order** *(optional)* — link to an existing PO to enable 3-way matching.
   * **Notes** *(optional)* — free text, up to 2000 characters.
   * **Default warehouse** *(optional)* — for stock-item lines that don't specify their own warehouse.
3. Add one or more **line items** (see fields below).
4. Save. The bill is created in **Draft**.

### Line item fields

Each line represents one charge on the supplier's invoice.

| Field                            | Required?         | Notes                                                                                             |
| -------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------- |
| **Description**                  | Yes               | Up to 500 characters.                                                                             |
| **Quantity**                     | Yes               | Minimum 0.01.                                                                                     |
| **Unit price**                   | Yes               | The per-unit cost (0 or more).                                                                    |
| **Expense account**              | Needed to approve | Which account the cost is booked to. A line without an expense account will block approval.       |
| **Tax rate (%)**                 | Optional          | A percentage applied to the line (see tax handling below).                                        |
| **Category**                     | Optional          | For reporting/analysis.                                                                           |
| **Cost center**                  | Optional          | Tags the cost to a cost center; the dimension carries into the ledger.                            |
| **Stock item / Warehouse / UOM** | Optional          | For inventory purchases — links the line to a stock item so approval writes a stock ledger entry. |

The **line total** is `quantity × unit price`, calculated automatically. The bill's **subtotal** is the sum of all line totals.

### How tax is calculated

If you enter a **tax rate** on a line, the tax for that line is `line total × (rate ÷ 100)`. The bill's **tax amount** is the sum across all lines, and the **total** is `subtotal + tax`.

> **Note on input VAT:** the default chart of accounts has no separate "VAT Recoverable" account for purchases. When a bill is approved, the tax portion is **included in the expense debit** (the line is grossed-up), rather than being split out to a recoverable-VAT account.

### Withholding tax (WHT)

Bills carry a **WHT total** (the amount withheld from the vendor). When a bill has withholding, the vendor is paid less cash and the withheld amount is booked to a **Tax Payable** account that your business later remits to the authority. If WHT applies but no Tax Payable account is configured in your chart of accounts, approval will be blocked with a clear message — set that account up first.

***

## Submitting and approving

1. **Submit for approval** — from a Draft (or PendingFinance) bill. This moves it to **PendingFinance** and locks it as submitted. Requires the `accounting-bills:update` permission.
2. **Approve** — moves the bill to **Approved** and posts it to the general ledger. Requires `accounting-bills:approve`.

On approval the system:

* Creates and posts the journal entry for the payable.
* If the bill is linked to a PO, updates the PO's billed progress (Partially Billed / Invoiced).
* If any line is flagged as a **fixed asset**, raises a capitalization event so the asset is created.

> 💡 You can **Preview GL posting** before approving (requires `accounting-bills:read`). This shows the debits and credits that approval *would* create, without writing anything.

***

## Paying a bill

Once a bill is **Approved** (or PartiallyPaid / Overdue), record a payment:

1. Open the bill and choose **Record payment**. Requires `accounting-bills:post`.
2. Enter:
   * **Amount** — minimum 0.01. May be a partial amount.
   * **Payment account** — the cash or bank account the money leaves from.
   * **Payment date**.
   * **Payment reference** *(optional)* — cheque number, transfer reference, etc.
3. Save.

The system records the payment, posts the cash movement to the ledger, and updates the status:

* If the remaining balance reaches zero (within a 0.01 rounding tolerance) → **Paid**.
* Otherwise → **PartiallyPaid**, and you can record further payments until it's settled.

You **cannot** record a payment against a **Void** bill.

***

## Editing, deleting, voiding and amending

* **Edit** — only **Draft** or **PendingFinance** bills can be edited. You can change vendor, dates, notes, PO link, default warehouse and lines. Server-computed values (totals, status, payment amounts) are never overwritten from the edit form. Requires `accounting-bills:update`.
* **Delete** — only **Draft** bills can be deleted (a soft delete). Requires `accounting-bills:delete`.
* **Void** — cancels a bill and **reverses any posted journal entry** so your trial balance is restored. You **cannot void a fully Paid bill** — refund it first. Requires `accounting-bills:void`. (A debit note has its own void rules — see [Debit Notes](/accounting/user/transactions/debit-notes).)
* **Amend** — for a bill that's already submitted/approved/paid, **Amend** creates a fresh **Draft copy** with a new bill number. Payment state and posting links are reset on the copy, and the original is marked as superseded. Use this to correct a posted bill. Requires `accounting-bills:update`.

***

## Behind the scenes — the accounting

When you **approve** a bill, the system posts a balanced journal entry. In plain English:

**Standard (standalone) bill:**

* **Debit** each line's expense account for the line amount (including its tax, since input VAT is grossed-up into the expense).
* **Credit** any **Tax Payable** for the withholding amount (if WHT applies).
* **Credit Accounts Payable** for the net amount owed to the vendor (total minus WHT).

So the cost lands in your expense accounts, and the amount you owe sits in Accounts Payable until paid.

**PO-linked bill (3-way match):**

* Instead of debiting expense accounts, the system **debits "Stock Received But Not Billed" (SRNB)** to reverse the accrual created when the goods were received, and **credits Accounts Payable**. (This account must be configured, or approval is blocked.)

When you **record a payment**:

* **Debit Accounts Payable** (reducing what you owe) for the payment amount.
* **Credit your cash/bank account** (the money going out).

When you **void** an approved bill, the original journal entry is reversed, removing both the expense/payable and restoring the trial balance.

***

## Multi-business note

Bills belong to a specific **accounting book** (workspace). The book is supplied as a `workspaceId` on every request, and the system maps that book to its owning business for cross-business scope checks. You only ever see and act on bills within your active business's book — bills, payments and balances never cross between businesses. If you operate more than one business, switch to the correct one before recording bills.

***

## Permissions reference

All bill actions are gated by the `accounting-bills` permission module:

| Action                | Permission slug            |
| --------------------- | -------------------------- |
| Create a bill         | `accounting-bills:create`  |
| View bills            | `accounting-bills:read`    |
| Edit / submit / amend | `accounting-bills:update`  |
| Delete a draft        | `accounting-bills:delete`  |
| Approve               | `accounting-bills:approve` |
| Record a payment      | `accounting-bills:post`    |
| Void                  | `accounting-bills:void`    |

***

## Related

* [Debit Notes (purchase returns)](/accounting/user/transactions/debit-notes) — return goods to a vendor and offset what you owe
* [Expenses & Expense Claims](/accounting/user/transactions/expenses) — out-of-pocket and staff-reimbursed costs
* [Petty Cash](/accounting/user/transactions/petty-cash) — small cash disbursements
