Skip to content

Party Ledger

The party ledger is a chronological statement of all transactions with a specific customer or supplier. It gives you the full picture of what is owed and by whom.

  1. Go to Parties in the sidebar.
  2. Click on a party name to open their profile in a slide-over panel.
  3. Click the Ledger tab at the top of the slide-over.
  1. Tap Parties in the bottom tab bar.
  2. Tap a party name to open their detail page.
  3. Tap the Ledger tab in the sticky tab header at the top.

Each row in the ledger represents one transaction. The columns are:

ColumnMeaning
DateThe date of the transaction (invoice date or payment date)
DocumentInvoice number or payment number, clickable to open the full record
TypeOpening Balance, Invoice, or Payment
DebitMoney the party owes you (increases outstanding balance)
CreditMoney received or paid (decreases outstanding balance)
BalanceRunning balance after this transaction

The first row is always the Opening Balance entry. This is the balance you entered when creating the party — the amount outstanding before you started using Hisaabo.

Each invoice appears as a debit entry (for sale invoices — you are owed money) or a credit entry (for purchase invoices — you owe money to the supplier).

Each payment appears as a credit entry against the party (you received money, so it reduces the receivable). For supplier payments, it appears as a debit (you paid out, reducing the payable).

The final balance in the ledger is the current outstanding amount:

  • Positive: The party owes you money. For a customer, this means they have unpaid invoices.
  • Negative: You owe the party money. For a supplier, this means you have unpaid bills.
  • Zero: All invoices are fully paid — no outstanding balance.

Use the date range filter at the top of the ledger to narrow the view to a specific period. Select a start date and end date to see only transactions that fall within that range. The opening balance is always shown at the top regardless of the date filter.

Tap the date filter toggle at the top of the ledger to reveal From and To date fields. Set the dates to narrow the view to a specific period. The opening balance is always shown at the top regardless of the date filter.

Click Export on the ledger view to download the statement as a CSV file. The CSV contains all visible rows including the opening balance entry.

Tap the Share button on the ledger view to open the native share sheet with the ledger data as CSV. You can share the statement via WhatsApp, email, or save it to your device.

The running balance is computed as:

balance = openingBalance
+ sum(sale invoice totals)
- sum(purchase invoice totals)
- sum(payments received from party)
+ sum(payments made to supplier)

Payment allocations (when a single payment covers multiple invoices) are handled at the invoice level — each invoice’s amountPaid field tracks how much of its total has been paid.

My ledger shows a large outstanding balance, but I know the customer has paid everything. What is wrong? This usually means the payments were not recorded against the correct party, or the opening balance was entered incorrectly. Check:

  1. Are all payments linked to this party? Open the Payments section and filter by party.
  2. Is the opening balance correct? If the customer had no balance when you started using Hisaabo, it should be 0.

The ledger shows a negative balance for a customer. Is that possible? Yes. It means you have received more money from the customer than the total of their invoices — an overpayment or advance. You may want to apply the excess as a credit against their next invoice.

How do I print or share the ledger statement with a party?

Export the ledger as CSV and format it in a spreadsheet tool (Excel or Google Sheets) before sharing. PDF export of the ledger statement is not currently supported in the app.

Tap the Share button to send the ledger data as CSV via the native share sheet. You can share directly through WhatsApp, email, or any other app. PDF export of the ledger statement is not currently supported in the app.