Skip to content

Who We Help · Translation & Interpretation · Bookkeeping

Translation agency bookkeeping: costing a job before you know the margin

A translation or interpretation project isn't profitable or not until it's costed — client revenue at a per-word, per-hour, or per-project rate, against freelancer pay, project management time, and a quality pass, often in more than one currency. Bookkeeping that doesn't tie those pieces to the same job number is just recording invoices, not telling you which work is worth taking.

By the AnalytIQ Accounting team · Last reviewed: August 12, 2026

Translator wearing a headset working at a laptop

A job number, not just an invoice number

Every project needs one identifier that both the client invoice and the freelancer payment attach to, whether that job lives in a translation management system like memoQ, Trados, or Smartcat, or a simpler spreadsheet for a smaller shop. Without it, freelancer costs land in the books weeks after the matching revenue, on a different date, sometimes in a different currency, and margin by job becomes a guess instead of a number.

Smaller shops that quote per project rather than per word face the same problem in a different shape: a fixed project price still has to absorb whatever the freelancer network and internal review actually cost, and that only becomes visible once every cost on the job carries the same reference number as the invoice.

Line itemWhere it comes fromBookkeeping treatment
Client fee (per word, hour, or project)Invoice or milestone billingRevenue, tagged to the job number
Freelancer costFreelancer invoice or platform payoutAccrued to the same job so margin is visible early
Rush or weekend surchargeClient rate cardTagged separately to check it covers the freelancer premium paid
QA or second-pass reviewInternal staff or a second freelancerCosted to the job, not buried in general overhead

Paying a global freelancer bench

Payment platforms built for this — Payoneer, Wise, or a mass-pay tool — move money to freelancers in dozens of countries, and every platform fee and FX spread needs to land against the right job rather than a lump "bank fees" account. A Canadian-resident freelancer gets a T4A once their annual fees cross the reporting threshold, and HST on their invoice is recovered as an input tax credit if they're registered. A freelancer working from home in another country generates no Canadian slip at all — the service happens outside Canada, full stop.

Platform fees deserve their own line in the books rather than being netted quietly out of the payout amount. A mass-pay platform's percentage fee and FX spread are real costs of running a global freelancer network, and burying them inside "freelancer cost" instead of tracking them separately makes it harder to negotiate better terms or compare platforms later.

A firm working with dozens of freelancers across a year also benefits from a simple vendor record for each one — country of residence, standard rate, and payment method — kept up to date rather than reconstructed from old email threads whenever a T4A season or a client audit asks for it.

Zero-rated exports, and the exception interpreters run into

Translation and localization delivered remotely to a non-resident client is a zero-rated export: bill at 0% HST, keep every input tax credit on Canadian costs. Interpreting is different the moment it happens in person — an interpreter working a hearing or appointment with someone physically in Canada, or in respect of a Canadian court or tribunal proceeding, is providing a domestically taxable service no matter who is paying the invoice. A firm doing both kinds of work needs its invoicing to tag each job correctly, because the same client can generate a zero-rated line one month and a taxable one the next.

We keep a simple flag on each job — remote or in-person, resident or non-resident client — right from the quoting stage, so the invoicing template applies the correct HST treatment automatically instead of relying on someone remembering the rule mid-invoice.

Multi-currency receivables and project-based revenue

USD and EUR invoices convert at the rate on the invoice date, and the gap to the collection date creates a real FX gain or loss that belongs on the P&L, not buried in a suspense account. A large localization project running for weeks should be recognized on a milestone or percent-complete basis rather than only at final delivery, so one big project doesn't distort a single month's USD figures or a single GST/HST return. Where a project runs across a fiscal year-end, the same milestone approach keeps the year-end cutoff clean instead of forcing a judgment call about how much of an unfinished job to book. Our cross-border page covers the client and freelancer forms in more depth, and our bookkeeping services page covers the monthly close itself.

Common questions.

How do you handle freelancer payments in different currencies?

We tie each freelancer payment to its job number so the currency and platform fees involved sit against the same project as the client revenue, rather than landing in a generic bank-fees account that hides where margin went.

Do we need a T4A for every freelancer we pay?

Only for Canadian-resident freelancers whose fees cross the reporting threshold in the year. Freelancers working from outside Canada get no Canadian slip at all.

Is interpreting billed the same way as translation for HST?

Not always. Remote translation to a non-resident is usually zero-rated, but in-person interpreting tied to someone physically in Canada, or to a Canadian proceeding, is taxable regardless of the client's location.

Related reading

Books that show job margin, not just revenue.

Book a consultation and get a plain answer on exactly what applies to you.

Client Reviews

Get a free quote

Request a free quote.

Tell us a little about your business and our team will respond within one business day.

Contact details

How can we help?

Type of enquiry select all that apply

Project information