Ledgr/Documentation/Contacts

Contacts

Watch the lesson: Add a customer and send a statement (1:49).

One list for everyone you deal with, with the money position attached to each of them.

Contact types

Every contact has one of five types, and the type decides which fields you see and where the contact appears elsewhere in the app:

  • Customer — appears in the invoice wizard, gets statements, has a credit position
  • Supplier — appears on bills, expenses and purchase orders
  • Employee — links to the payroll module
  • Practitioner — the tax practitioner or firm handling your SARS work
  • Other — anyone else you want in the address book

Add a contact

  1. Contacts → New

    Pick the type first — it changes the form.

  2. Identity and reach

    Name, email, phone, VAT number and address. The email is what invoices and statements go to; the phone is what WhatsApp uses, so store it in international format (+27…). A supplier's VAT number is ten digits beginning with 4; it is what lets you claim the input VAT on their bills, and text such as "N/A" is not accepted as one.

  3. Trading terms

    Payment terms in days and a credit limit. The terms are what a new invoice to this customer starts at, and so set its due date. The credit limit drives the utilisation bar and the credit status — see credit management.

  4. Tags

    VIP, Preferred, At Risk, New, International, Government, NPO, or a B-BBEE level from 1 to 4. Filter the list by tag with the tag menu beside the search box.

  5. Document language

    English or Afrikaans. Invoices, quotes and every other document you send this contact, and their statements, are written in it — the headings, the totals and the month names. Words you renamed yourself in your invoice settings stay as you typed them, and an Afrikaans tax invoice still carries the words "Tax Invoice", which the VAT Act requires.

  6. Your own fields

    A field you add under Invoicing → Settings → Custom fields with Contacts ticked appears on this form: an account manager, a branch code, a delivery window. Contact fields count toward the same ten custom fields as your document fields, and are never printed on a document.

Import and export your contact book

Export on the Contacts screen downloads every contact as a CSV, with a column for each of your own contact fields, headed with its name. Import reads that file back, or a CSV exported by your previous system, and shows how each column was read before anything is written.

  • A row whose name matches no contact makes a new one, with every column it has.
  • A row whose name matches a contact you already have fills that contact's empty fields only. An import never overwrites a value, so re-importing an old export cannot undo your edits.
  • A column headed with one of your own fields' names fills that field.
  • Up to 5 000 contacts a file. A larger book is refused rather than cut short; use Settings → Export your data for the whole of it.

The contact detail view

Opening a contact gives you the full picture in one screen:

  • Information grid — everything you captured, editable in place
  • Credit position — a bar showing how much of the limit is used, red once it is over
  • Invoice history — every document issued to them with status and balance
  • Communication History — every invoice, reminder and statement sent (and any that failed, with the reason), calls and notes, and the sales team's activities, newest first

Delivery sites

A customer who takes delivery at more than one place — a head office and a Durban branch, say — has a delivery site for each, on the customer's page under Delivery sites. Give each a name and an address a driver can find; one is the default, which a new order starts on.

  • On an order, delivery note or invoice, Deliver to offers the customer's sites. The document keeps the address as it was when you chose it, so editing the site later does not change a document already sent.
  • The delivery is planned and driven to that site, and a location placed or learned on a stop there is saved on that site — the Durban branch's pin never moves head office.
  • A customer with no sites yet is delivered to the address on their contact; the first location saved for them makes that address their first site.
  • Merging two contacts brings both sets of sites together; the surviving contact keeps its own default.
  • Saving a site places it on the map from its address when the address points to exactly one place. If it cannot be placed, the site says why; place it on the first delivery there, from the stop.

Statements

A customer's detail view offers two kinds, and they answer different questions:

  • Statement — what the customer owes you now: each unpaid invoice with how long it has been outstanding, and the ageing beneath. It opens as a preview laid out as it will print, and you send it by email or WhatsApp from there.
  • Activity Statement — everything that happened on the account between two dates: the balance at the start, every invoice, credit note and payment in the period, and the balance at the end. Choose From and To, then Download or Send Statement to email it.

Every send is logged on the customer's Communication History, whether it went or not. Statements in the Contacts menu lists every customer with a Preview and a Send each, and Bulk Send All Statements emails everyone with an address — it tells you how many will go and who is skipped before anything is sent.

Statements every month, by themselves

In Invoicing → Settings → Automation, tick Send statements every month and choose the day and how they go — email or WhatsApp. From that day each month, every customer who owes you something is sent their statement once, under the name of the company they owe (invoices raised under no company come as one statement of their own, under your business's name). A customer without an address on the channel you chose gets it the other way; a customer whose reminders are paused, or whose balance is nothing, is left out. If a day is missed — the email service was down, say — the next day's run sends what did not go; where a statement reached some of a customer's addresses and not others, it is not sent again to the ones it reached. Each one is on the customer's Communication History like any other send, WhatsApp ones count towards your WhatsApp messages, and Send Statement still sends one by hand whenever you like.

Chasing a whole ledger at once

The Aged Debtors report is the faster route when several customers are late — tap the bucket you want to chase, then Send Statements, and only the customers owing in that bucket are sent theirs, rather than every customer on the books.

Aged debtors

Open Ageing Report from the Contacts menu; the same figures are in Reports. Each customer's balance is split into four buckets by how far past due it is — current (up to 30 days), 31–60, 61–90 and 90+ days — with a bar per bucket and the total receivables.

  • Tap a bucket in the Totals card — it shows how many customers owe in it — and the By Customer table narrows to those customers. Tap it again, or Show all, for the whole book.
  • Send Statements emails a statement to every customer in the table as it stands — the bucket you chose, or everyone owing. It asks first, naming how many will go and who has no email address and will be skipped.
  • Remind on a row sends that one customer their statement.

Credit management

Set a credit limit on the customer and Ledgr tracks utilisation as invoices are issued and settled:

StatusMeaning
HealthyNo more than 60% of the limit in use, or no limit set
WatchOver 60% of the limit in use
Near limitOver 80% in use — worth a conversation before the next order
Over limitMore is owed than the limit allows; the card says by how much

The limit is enforced, not only shown. Saving a draft is never refused — a draft owes nothing — but anything that makes the customer owe more than their limit is: sending a draft or marking it sent, raising a deposit, and editing an invoice that is already issued so that it asks for more. What they owe is counted in your base currency, so a dollar invoice counts at its exchange rate. The message gives both figures; raise the limit here, or record a payment against what they already owe, and try again.

An integration using the API can ask to raise a deposit over the limit. Only a role that may approve invoices can do that — Owner, Admin and Accountant, not Sales — and each time it happens the audit log records who did it, for which document, what the customer would owe and the limit it passed.

Duplicates, and archiving a contact

The same customer entered twice is the ordinary state of every address book that has ever been used by more than one person. Merge Duplicate on the contact detail view picks the record to keep and moves everything across to it (Merge Duplicates Into This folds several into the one you are looking at) — not just the invoices, but every place in Ledgr that points at a contact: quotes, bills, purchase orders, deals and activities, job cards, deliveries, supplier quotes and catalogues, compliance documents, service contracts, and the ledger's own subsidiary detail. The merge is recorded in the audit log with a count of what it moved.

A merge can be undone. Straight after it, a bar offers Undo. Later, open Archived from the Contacts menu: a merged-away contact is listed there with Undo Merge, which puts the contact back and moves back everything the merge moved. Each merge is undone on its own, so merging three duplicates and undoing one leaves the other two merged.

Deleting a contact is an archive: the record leaves your lists and its history stays intact, so an old invoice never loses the name it was addressed to. An archived contact is listed under Archived with Restore.

A contact with money open on the account cannot be archived.

Ledgr refuses, and names the figure and the number of documents. That is deliberate: archiving would take them out of the contact list and out of every statement while the balance stayed on the ledger and on the age analysis — leaving a debt that is on your balance sheet with nothing left to chase it with. Settle, credit or write off the open documents first. The check runs in both directions, because one business is routinely both a customer and a supplier.

When a person asks what you hold, or to be removed

The privacy law (POPIA) gives a person the right to ask what you hold about them, and to ask for it to be removed. Both are on the contact, under Their personal information.

Download what we hold saves one file with their contact record, every record that names them — invoices, quotes, bills, deals, consent — and those records' lines. Nobody else's details are in it, so you can send it to them as it is.

Erase their details clears their name, email, phone numbers, addresses, bank details and notes, and withdraws their marketing consent on every channel. Your invoices and your books are kept, under an anonymised name, so your figures do not change. It needs a role that may delete contacts, and it is recorded in the audit log.

Records are kept for five or seven years first.

The law asks a company, a close corporation or a non-profit company to keep its accounting records for seven years (Companies Act, section 24), and a sole proprietor, a partnership or a trust for five (Tax Administration Act, section 29). The tax law's five years start on the day the return covering the record was submitted, not on the record's own date (section 29(3)(a)), so a record behind a return filed late is kept longer. An invoice or a bill that names a person is one of those records. While any of them is still inside its period, Ledgr refuses to erase the person and says which document and until when. If no return covering it is recorded as filed, there is no end date yet: record the day you filed it on the return in SARS. Their marketing consent can still be withdrawn straight away.

The customer portal

Each customer can be given a portal link — no account, no password. They see their documents and can pay through whichever gateway you have attached. Copy it with Customer Portal Link on the contact, or Copy Payment Link on an individual invoice.

Common problems

What you seeWhat to do
A contact will not archive There is money open on the account. Ledgr names the amount and the number of documents, in both directions — one business is routinely both a customer and a supplier. Settle, credit or write the documents off first, or set the contact inactive instead: that keeps them out of the pickers and leaves the history and the balance exactly where they are.
Aged debtors and the balance sheet disagree They should not — the report states its own difference against the debtors control account and shows it as a figure. If it is not zero, look for a manual journal posted straight against the control account. Also check you are comparing the same date: the ageing re-derives the position at the date you asked for, so a June ageing beside today's balance sheet is two different questions.
Credit used looks wrong or reads zero It is computed from live open invoices rather than stored, so it cannot go stale. If it reads zero on a customer who owes you money, check you are looking at the right company — with no company selected the figure covers the whole business.
A statement or portal link would not send The message says what failed: the email address, the WhatsApp number, or the sending configuration. A phone number has to be in international format (+27…). Every attempt is logged on the contact's Communication History with its reason, so there is a record either way.
You merged the wrong pair Undo it: open Archived from the Contacts menu and choose Undo Merge on the contact that was merged away. Everything the merge moved goes back. Do not try to re-split the records by hand.
An address is cut off in the list Email addresses truncate in the middle on purpose, keeping the domain, so a shortened address can never be mistaken for a complete one. Open the contact for the full value.
Search does not find a contact you know exists Search covers the name, trading name, email, VAT number and phone numbers (typed with or without spaces, or starting 0 or +27). If it still does not match, check the type tab you are on, the tag filter, and whether the contact was archived — see Archived.