Skip to content

Client portal: invoices and payments

A single link per client with all their invoices, their balance in each currency, and paying several at once.

This feature is new and may not be enabled on your account yet. If you don’t see it, write to us.

What it is

The client portal is a private page, one per client, where that client sees every invoice you’ve issued them, what they owe in each currency, and what they’ve already paid. From there they download each invoice, pay several in a single charge, and can turn on automatic payments so the next ones are charged on their due date by themselves.

They don’t need an account or a password: the link is their access. You create and manage it from the client’s profile.

Its appearance comes from Settings › Brand appearance › Client portal: the layout, top announcement and welcome message you set there also show here. The comments setting on that tab only applies to each quote link. See Client portal (quote link).

Distribuidora El Zarco's invoice portal with Materiales del Valle: a balance due of $248,610.40 MXN across 3 invoices, $48,940.00 MXN of it overdue, and separately $4,850.00 USD in 1 invoice; automatic payments off with the button to turn them on; the To pay list with F-0231 (overdue) and F-0236 checked, F-0240 unchecked and F-0238 in dollars disabled while peso invoices are selected; at the bottom, the bar "2 invoices · $101,256.40" with Pay selected.

Requirements

Details
Plan All plans.
Permission Clients to create, send, regenerate, or disable the link, and to turn off a client’s automatic payments.
Invoices Invoices issued to that client. Quotes don’t appear in the portal.
Online payment Your Cord Payments account active, with Card (or bank debit) turned on in Settings › Payments › Payment methods. Available in Mexico, the United States, Canada, Spain, the United Kingdom, Germany, and France. In Brazil, Colombia, Argentina, Chile, and Peru the portal shows the invoices and the balance, and tells your client to contact you to pay.
  1. Open Clients and go to the client’s profile.
  2. In the right-hand column, under Client portal, click Create portal link.
  3. Share the link:
    • Copy copies it so you can paste it into an email, WhatsApp, or your system.
    • Send by email sends your client the “Your invoices with [your business]” email with the Open my portal button, with your branding and your reply-to address. It only appears if the client has an email on their profile.
    • Open shows you the portal in another tab, just as your client sees it.
Distribuidora El Zarco’s profile, side column: the Client portal block with the copyable link and the Send by email, Open, Generate new link, and Disable link actions; below, Automatic payments with Visa •••• 4242, the notice "Attempt 1 declined in MXN. Next attempt: October 16, 2026." and the Turn off automatic payments link.

The link stays the same until you generate another one: you can copy it or send it again whenever you want.

What your client sees

Element Details
Top announcement A strip in your brand color, if you wrote one in Client portal.
Header Your logo (or your initial in your brand color) in the header style you chose, Your invoices, the client’s name and your welcome message, if you wrote one.
Balance due per currency One card per currency with the balance, how many invoices are to pay, and how much is overdue. Currencies are never added together: a balance in MXN and another in USD are two cards. With no balance, it says “You have no balance due.”
Automatic payments If you allow it in Settings › Payments › Payment methods, the card to turn it on, the method it’s on with, or the reason it stopped. See Automatic payments.
To pay Each open invoice with its number, its due date (or the issue date if it has none), the balance and, if there were partial payments, “of [total]”. Overdue ones carry Overdue; one with a pending bank debit, Payment processing. Each with View (its link) and PDF.
Paid The last 24 paid invoices, collapsed, with their total and their links.
Footer Your contact email, the notice “This link is personal: it gives access to your invoices and payments with [your business]. Don’t share it.”, the Cord brand mark, unless you’ve hidden it, and the Platform Privacy Notice link, which opens Cord’s privacy notice in the portal’s language.

The portal speaks that client’s document language (the one in their record or, if they have none, your account’s) and uses that language’s date and amount format. Each invoice they open from there keeps the language it was issued in. The automatic payment authorization is shown in the portal’s language and Cord records which one your client accepted it in; in Canada, the pre-authorized debit clause is in French if that’s their language and in English otherwise. See Document language.

Which invoices appear

  • Invoices issued to that client, open or paid, in all their currencies.
  • Drafts, voided invoices, and credit notes don’t appear.
  • In Mexico, a replaced CFDI doesn’t appear (its replacement does), and neither does the global invoice, because it doesn’t belong to any client.
  • A test document appears, but can’t be paid online.

Pay several invoices at once

  1. Your client checks the invoices they want to pay. They can only choose one currency at a time: once they check an invoice in MXN, the ones in other currencies are disabled.
  2. A bar appears at the bottom with the summary, for example “2 invoices · $101,256.40”, and the Pay selected button.
  3. In the payment sheet they see the total. If you allow automatic payments, they can check Save this method for automatic payments, together with the authorization.
  4. They click Continue, enter their card or bank account details, and click Pay [amount].
  5. Back on the portal they see “We’re confirming your payment”. A card takes a few seconds; a bank debit, a few days.

In Canada, if you turned on pre-authorized debit, the payment sheet asks Paying from your bank account? before Continue, with Yes, as a business and Yes, as an individual. The answer is recorded in the debit authorization and adds that option to the form; to pay by card they don’t need to answer, unless the debit is the only method. The same question appears when turning on automatic payments from the portal.

Construction Boréal Inc.'s portal with Matériaux Laurentides, with the Pay selected sheet open over the list: a $9,166.25 CAD total for INV-000071 and INV-000074, the Save this method for automatic payments checkbox with the authorization, the question "Paying from your bank account?" with Yes, as a business and Yes, as an individual unselected and its hint, and the Continue button.

How it’s charged and allocated:

  • Each invoice is paid at its real balance. The browser only chooses which invoices; Cord reads each one’s amount from your account at the moment the charge is created. If a balance changed (for example, because you recorded another payment), your client reads that the balance of an invoice changed or already has a payment in progress, and to refresh the page.
  • One charge, several invoices. The client sees a single charge on their statement. When the payment is confirmed, each invoice records its share in its payment history and its balance goes down; the one that reaches zero becomes Paid.
  • Methods: card and, if you turned on bank debit, SEPA debit on invoices in EUR (businesses in Spain, Germany, and France), ACH on invoices in USD (United States), Bacs on invoices in GBP (United Kingdom), or pre-authorized debit on invoices in CAD (Canada). In MXN only card is offered.
  • Fee: where Cord charges a fee (today, charges in MXN), one fee is charged for the whole charge, not one per invoice. See Fees.
  • Payment processing. While a bank debit is being confirmed, those invoices show Payment processing and lose their checkbox: they can’t be paid again or voided.
  • Account to verify. If your client authorizes the debit with an account that is verified with a small deposit (in Canada, for example), the sheet hides the pay button and tells them that within 1 to 2 business days they’ll receive that deposit and an email with instructions, with the Verify my account link. Those invoices also stay in Payment processing until they confirm the account or the verification expires. See Bank debit.
  • Never twice. If an invoice already has a payment in progress from its own link (a debit the bank is still confirming or that is waiting for the account to be verified), the portal doesn’t charge it again: it tells your client to wait for the confirmation and, if the account still needs verifying, shows them the Verify my account link.
Construction Boréal Inc.'s portal after returning from the payment, with the notice "We're confirming your payment. Cards take a few seconds; bank debits take a few days. Don't pay again in the meantime". The balance is still $22,703.41 CAD; under To pay, INV-000071 and INV-000074 show Payment processing and can no longer be checked, and INV-000076 is still available to pay.

A payment made from the portal is refunded from the detail page of any of the invoices it paid: just that invoice’s share, or the whole payment. If the refund is issued outside Cord, Cord allocates it among the invoices it paid: see Refunds.

From the Client portal block on the profile:

Action What happens
Generate new link The previous link stops working right away and Cord creates another. Use it if the link was shared too widely; then share the new one with your client.
Disable link Your client can’t open their portal until you generate another link. Automatic payments don’t change: if they’re still on, the notice for a failed charge sends your client a new portal link. If you don’t want them back in, turn off automatic payments too.

Both actions ask for confirmation and are recorded in your account’s audit log. If automatic payments stay on and a charge fails, the email Cord sends the client includes the button to their portal, and to do so it generates a new link if you had disabled it. To make sure there’s no link at all, turn off automatic payments too.

Privacy and security

  • The link is a credential. It’s generated at random (32 bytes) and can’t be guessed. Whoever has it sees the invoices and can pay them: share it only with your client.
  • It isn’t indexed or tracked. The page doesn’t show up in search engines, doesn’t pass its address to other sites, and carries no analytics. Cord doesn’t record when your client opens it either.
  • It lives on cordhq.app. Even if you have a custom domain, the portal isn’t served from your domain: your domain only serves quote and invoice links, never a page with saved payment methods.
  • Payment details don’t go through Cord. The card or bank account is entered in the payment processor’s form; Cord only keeps the type, the brand, and the last four digits.

Limits

  • Up to 50 invoices in a single payment, all in the same currency.
  • The minimum per charge is the processor’s: 0.50 in the currency (for example, 0.50 USD or 0.50 EUR), or 50 units in zero-decimal currencies.
  • The portal doesn’t offer Mercado Pago, SPEI, or bank transfer: online payment is with Cord Payments. To pay by transfer, your client uses View and pays from that invoice’s link: by SPEI to that invoice’s CLABE (in MXN, if you have SPEI turned on) or by bank transfer with a reference (in EUR, GBP, or USD, if you have it active).
  • Part of an invoice can’t be paid from the portal; for a partial payment, your client uses View and pays from that invoice’s link.
  • Quotes don’t appear in the portal.

Troubleshooting

My client doesn’t see payment buttons. Your Cord Payments account isn’t active, Card is off in Settings › Payments › Payment methods, your country doesn’t have Cord Payments, or the account is a test one (“Test portal: online payment is disabled.”).

An invoice doesn’t appear. Check that it was issued to that client. A draft, a voided invoice, or a credit note isn’t listed.

An invoice can’t be checked. Your client already checked invoices in another currency, the invoice has a payment in progress, or there’s no method available in that currency.

The link says the page doesn’t exist. You generated a new link or disabled the portal. Share the current link from the client’s profile.

Send by email doesn’t appear. The client has no email on their profile.