CLIENTS & SUPPLIERS
One register, two roles
The company you buy from and the company you sell to live on the same record. Type a company ID and the details come from the register; from there they go onto the invoice and onto the purchase document — no retyping.
In the demo: a counterparty created from just its company ID, its VAT number verified against VIES, and an invoice issued from the client page in one click.
THE CLIENT CARD
A record the register fills in for you
You start from a name or a company ID, not from a blank form. Each record carries verified details, its own payment terms and its own revenue page — and when it is time to bill, the invoice is one click away.
Search by name or by company ID
For a Bulgarian counterparty, type the name or the ЕИК and pick from the results. Cove fills in the registered designation with its legal form, the address and the contacts. You review and save.
A company ID is never written as a VAT number
A company with no VAT registration keeps an empty VAT field. Putting the company ID there would make every later invoice treat the counterparty as VAT-registered.
Checked against the country's own registry
VAT numbers are validated against VIES for the EU, HMRC for the UK, Brønnøysund for Norway and ABR for Australia. A registry that does not answer is never recorded as an invalid number.
The whole relationship on one screen
Total sales, number of payments, average value and what is still outstanding on open invoices, plus monthly bars for the last 12 months or the full history.
THE SUPPLIER CARD
Supplier is a role on the same record
One register, two views. A company is often both — you buy from it and you sell to it — and then it appears under both tabs, with no second record and no second program.
A supplier picker on the expense
Pick a saved supplier and the expense takes the name, company ID, VAT number and address in one action. Those details describe a single legal person, so they are applied together rather than field by field.
Purchases, payables, ageing
The Purchases tab shows total purchases, count, average and payables, the monthly bars for the last year, and the overdue buckets: not yet due, up to 30, 31–60, 61–90 and over 90 days.
The link is derived, not a foreign key
Purchases are matched on company ID and VAT number, and on name only when the document carries no number. That is why the card also works on documents entered before the counterparty was ever saved.
Paid is read from the expense
Whether a bill is settled is decided by the linked expense, not by a status on the invoice. An unpaid expense with no document attached still counts as payable, in the "no due date recorded" bucket.
What the record itself carries
The details you would otherwise dig out of an email thread live on the counterparty and land on the document the moment you pick it.
Payment terms
Due on receipt, Net 30, or a term of your own. Pick the client and the invoice starts with theirs.
Currency per counterparty
The record carries its own currency, and that becomes the currency of the new invoice instead of your default.
Bank account
IBAN and BIC sit on the counterparty. An account written on the document itself always wins over the one on the record.
Country-driven VAT treatment
The country and VAT number decide the rate: domestic supply, reverse charge for an intra-EU sale with a valid number, or exempt export outside the EU.
Tags and logos
Labels and company logos, plus filters by country, currency, city, payment terms and revenue.
Which price list applies
The field sits on the client record. The lists themselves are kept with your items and stock, on a page of their own.
Move the whole register in one evening
Bring existing counterparties over from any spreadsheet with template-based import. Column matching is deterministic — no AI, no guesswork.
- 01
Download the template
CSV or Excel with Cove's exact field headers. The "Supplier" and "Buyer" columns carry the role; left empty, the row comes in as a client, exactly as before.
- 02
Fill it in and review
Country is required: without it a row cannot be given the right VAT treatment, so it is refused with a named reason. The review step lets you re-point or ignore any column.
- 03
Upload
Up to 2,000 rows per file. A company ID is stored bare even when the spreadsheet writes it with a "BG" prefix. Skipped rows download as a CSV so you can fix them and re-import.
A register that does not rot
Duplicates accumulate on their own, and one customer's turnover ends up split across two records. Here is what Cove does about that — and what it deliberately will not do by itself.
Duplicates are suggested, never merged for you
Near-matches are grouped by company ID, VAT number, email and normalised name, with the legal form ignored: "Acme" and "Acme Ltd" come up together. The decision stays yours.
A merge is refused when they are not the same company
A different company ID, a different VAT number or a different country stops the merge. Country decides how past turnover was attributed, so merging across a border would move it retroactively.
History is re-pointed, the duplicate goes to Trash
Invoices, revenue and attachments follow the surviving record, and its empty fields are filled from the duplicate — never overwriting anything already there. It is reversible.
An issued invoice is not rewritten
Each invoice keeps its own copy of the name, company ID and VAT number as they stood at issue. Correcting the record applies to later documents, not to filed ones.
Contracts and tasks stay with the counterparty
Attachments are counted on their own tab, and the tasks for that client are tracked under Work, right beside the record.
Through the API, MCP and Cove Agent
Counterparties can be read and written from outside too, filtered by role — so a sync sees exactly the suppliers, or exactly the clients.