Set the currency you bill a client in

Each client carries one currency that defaults to the business currency. Invoices and estimates draft in the client currency, source-linked time and expenses must already match it, and Billr never converts between currencies.

Written and reviewed by the Billr team. Published , last reviewed .

Who this is for
Freelancers and small studios with a client who pays in a different currency from the rest of their book.
Billr capabilities used
update_clientget_clientcreate_invoice

What you need first

  • The client already exists, or you are creating one with create_client.
  • A key with the Read and draft profile.
  • The three-letter currency code your client actually pays in, such as EUR or CAD.

Step by step

  1. 01Check the business default first

    get_business returns default_currency, and that is what a client inherits when you leave currency out. Knowing the default tells you whether anything needs changing.

  2. 02Set the client currency

    Pass currency when creating the client, or change it later with update_client. The field accepts a short ISO code and is stored on the client, not on each document.

    Example
    update_client  {
      "client_id": "9f2a4d18-3b7c-4a6e-8f0d-1c5b2e9a7d44",
      "currency": "EUR"
    }
  3. 03Draft in that currency

    Leave currency off create_invoice and create_estimate. Both default to the client currency, which keeps the rule in one place instead of in every prompt.

  4. 04Match the source work

    When you attach logged time or expenses, the server requires them to match the invoice client and currency. Work recorded in the business currency cannot be attached to a euro invoice.

Worked example

Fictional account, field names as returned by the server

You say

Move Harbor & Lane to euros and draft their next invoice in EUR.

Your agent calls

  • update_client { "client_id": "9f2a4d18-3b7c-4a6e-8f0d-1c5b2e9a7d44", "currency": "EUR" }
  • create_invoice { "request_id": "2b7e9d15-4a83-4c60-9f27-5d1b8e3a6c94", "client_id": "9f2a4d18-3b7c-4a6e-8f0d-1c5b2e9a7d44", "line_items": [ { "description": "Consulting", "quantity": 2, "rate": 150 } ] }

Expected responses, abridged. The draft that follows carries currency "EUR" because the client does.

Example
{
  "summary": "Updated client \"Harbor & Lane\".",
  "client": {
    "name": "Harbor & Lane",
    "currency": "EUR"
  }
}

Limits and gotchas

  • Billr stores and prints amounts; it does not convert them. There is no exchange rate anywhere in the product.
  • Changing a client currency does not rewrite existing drafts or sent documents, which keep the currency they were created with.
  • Source-linked work must match the invoice currency, so cross-currency work has to be logged per currency.
  • A business whose invoices span currencies reports per-currency totals instead of one combined number.

Troubleshooting

create_invoice returns a different currency than expected
The invoice took the client currency. Check the client with get_client, and pass currency explicitly only when the invoice really is an exception.
Attaching time fails with a currency error
Those entries were logged in another currency. Re-log them against the client now that the client currency is set, or bill them from the business-currency invoice they belong to.
Reports show two totals for one business
That business has invoices in more than one currency, so the summary breaks them out per currency by design instead of summing them.

Sources

Reviewed 2026-09-20 against Billr's own tool implementations and the client documentation linked above.

Currency decisions show up later in reports, so it is worth reading how the revenue summary groups mixed currencies before you bill the first cross-currency client.

See how revenue is grouped