A delivery only becomes revenue when it is invoiced. Loaditude closes the loop from completed job to issued invoice without spreadsheets or re-keying: delivered work queues up ready to bill, you raise invoices in a couple of clicks (one at a time or in bulk), push them to your accounting system, and track who has paid. This guide walks through the invoicing flow step by step.
Where invoicing lives
Invoicing is in the Finance module, not inside Transport. Open Finance and choose Invoices, then pick the client you are billing. You will see what has not been billed yet on transport, how far storage has been billed up to, every invoice raised for that client with where it has got to, and what they still owe you across both. From there you carry on into raising the invoice with the client already chosen.
Transport and storage remain two separate documents, because storage is billed for a period and transport per job, but you no longer have to look in two places to see where a client stands. If you previously used Transport, then Invoices, that link now takes you to the same screen in Finance.
Because it sits in Finance, anyone who raises invoices needs the Finance module granted to them. Owners and administrators have it already; other users need it adding by an administrator before they can invoice.
Step 1: Work the ready-to-invoice queue
A transport job becomes ready to invoice the moment it is marked delivered and has not already been put on an invoice. You can see these jobs two ways. The TMS dashboard has a Ready to invoice card showing the count of waiting jobs and their estimated value, and the Jobs list has a Ready to invoice filter that lists every delivered, uninvoiced job regardless of date. This is your billing backlog: work that is done and earning nothing until it is invoiced. The headline value on the dashboard is an estimate to size the backlog; the amount that actually gets billed is each job’s freight cost.
To stop a delivered job quietly going unbilled, the Ready to invoice card turns red and calls out how many jobs have been waiting more than seven days (and their value) once any cross that line. Treat it as a chase list: the longer a job sits delivered but uninvoiced, the more likely the revenue is to slip.
Before you start: check the client’s VAT rate
An invoice is raised at the VAT rate on the client, and a client created without one is set to 0%. That means their invoices go out with no VAT on them, which is easy to miss until an accountant or an accounting system disagrees with the total.
Open a client and edit it to set VAT rate, or pick a VAT treatment and the rate fills itself in: standard rate is 20%, reduced is 5%, and zero rated and exempt are 0% on purpose. Choosing one of the last two tells Loaditude the zero is deliberate, so it stops asking about that client.
The client list has a VAT column, and any client with no rate set shows an amber Not set. To fix several at once, tick them in the list, choose a treatment and rate, and apply it to the selection. It is deliberately a selection rather than an “all clients” button: charging VAT to a client who should not be charged it is harder to put right than charging too little, so the zero-rated and exempt ones need leaving alone.
When you pick a client on the generate screen, Loaditude warns you there and then if they have no VAT rate, before the invoice is raised. Changing a client’s rate affects invoices raised from then on; an invoice already raised keeps the rate it was raised at, and that rate can be changed by editing the invoice.
Step 2: Raise an invoice
Each line records the job number, the customer’s purchase order and their own reference as they stood when the invoice was raised. They are different numbers and appear under their own headings, on screen and on the PDF, because a customer’s accounts payable matches on the purchase order. Recording them on the invoice rather than reading them from the job each time means correcting a job later cannot change an invoice you have already sent.
The simplest route is the invoice generator. Pick a client, and Loaditude lists that client’s delivered, uninvoiced jobs. Select the ones to bill, watch the running subtotal, and generate the invoice. A few rules keep your billing clean:
- Every job on an invoice must belong to the same client, so you never accidentally cross-charge.
- Jobs with no freight cost are flagged and cannot be selected, so you do not raise a zero-value line by mistake.
- A late cancellation with a cancellation fee can be billed as its own line, so abortive work is not written off.
The invoice number is generated for you, the tax rate defaults to the client’s rate, and the due date is set from your company payment terms (30 days unless you change it). Each selected job becomes a line on the invoice, and those jobs are stamped as invoiced so they cannot be billed twice.
Step 3: Invoice in bulk
When a billing run covers many jobs across several customers, you do not need to do them one at a time. From the Jobs list, select the delivered jobs you want to bill and choose Invoice these. Loaditude groups the selection by client and raises one invoice per client automatically, so a week’s deliveries across a dozen customers becomes a dozen invoices in a single action. This is the fastest way to clear the ready-to-invoice queue at the end of a period.
Step 4: Multi-drop jobs read correctly
Multi-drop work invoices cleanly. Rather than a vague single line, the invoice describes the full route, so a run reads as its origin through each drop to the final destination. The customer can see exactly what they paid for, and a query about a specific delivery is easy to settle because the route is on the document.
Step 5: Proof of delivery alongside the invoice
Proof of delivery is the evidence that backs a charge. In Loaditude the signature, signed-by name, capture time, delivery photo, and notes are captured against the job (per stop on a multi-drop run), and you can download, print, or email a job’s proof of delivery as its own PDF. When a customer queries an invoice, you have the matching proof ready to send to support it. The proof of delivery document is kept separate from the invoice so each can be shared with the right person, and the invoice line still ties back to the delivered job it came from. For how that proof is captured on the road, see Transport jobs and proof of delivery.
Step 6: Send the invoice
From an invoice you can download a branded PDF or email it straight to the customer. The email defaults to the client’s address on file and attaches the invoice PDF, with the invoice number, total, currency, and due date in the message. While an invoice is still pending you can edit dates, tax rate, notes, and line descriptions or amounts, and the totals recalculate. Once it is paid or cancelled it is locked, so issued figures cannot be quietly changed.
Step 7: Sync to Xero
If you keep your books in Xero, connect it once and push invoices across with a single action, individually or in bulk from the invoices screen. Loaditude records that the invoice is synced and links it to its Xero counterpart, so you can see at a glance what has gone over. Storage and transport invoices share the same Xero connection, so your whole 3PL billing lands in one ledger.
The Reference on a Xero invoice carries the customer’s purchase order and their own reference, followed by your invoice number, because Xero has no separate purchase-order field and Reference is what most accounts payable teams match on. An invoice covering several jobs lists each of their purchase orders, and every line names its own alongside the job number. Once an invoice is in Xero you can see Xero’s own invoice number and status against it, draft, awaiting approval, issued, paid or voided, and Check Xero asks Xero for its current state.
When you push a batch, every invoice is reported by number. If Xero refuses one you are told which invoice and why, rather than seeing a count of failures, and that reason stays on the invoice so it can be fixed and pushed again. An invoice that was already in Xero is reported as already there, not as a failure, so nobody re-creates it by hand. You can also tick “Send to Xero” while generating an invoice from jobs, which creates it and pushes it in one step; the invoice is always created first, so if Xero refuses it nothing is lost.
When the invoice was raised in Xero first
Sometimes the invoice goes out from Xero before anyone gets to Loaditude: the work is done, someone types the invoice into Xero, sends it, and the customer pays. Generating the invoice here afterwards and pushing it would put a second invoice in your customer’s ledger for work you have already been paid for.
Raise the invoice in Loaditude as normal, so the jobs are marked invoiced and the revenue is counted, then open it and choose Already in Xero. Search for the Xero invoice by its number, pick it, and Loaditude records that the two are the same invoice. It will never send a second copy of it, and if Xero says the customer has paid, the invoice here is marked paid too.
Nothing in Xero is changed. That matters if the invoice has already been sent to the customer or assigned to an invoice factoring company, where editing it afterwards is not an option. Loaditude compares the two totals before linking and asks you to confirm if they differ, refuses if the currencies do not match or the Xero document is a bill rather than a sales invoice, and will not let two Loaditude invoices claim the same Xero invoice. If you pick the wrong one, Unlink undoes it, again without touching Xero.
Linking is available to owners and admins. The tidier habit is still to raise the invoice in Loaditude and let it push to Xero, which needs none of this.
Step 8: See what a client still owes you
Open a client and the Work section shows every job with the invoice it was billed on, or marked as not invoiced. Narrow the list to either, and two figures sit with the totals: what you have invoiced them, and what is awaiting an invoice. Awaiting counts delivered work only, so jobs booked for later are never read as money you are owed. Export from there, or from the jobs list, and you get every job matching the filters you have set, with each job’s invoice number, date, status and total alongside its revenue, cost and margin.
Step 9: Track payment status
Every invoice carries a status: pending, paid, overdue, cancelled, or voided. You can mark an invoice paid (which records the payment date), or cancel or void one, which releases its jobs back to the ready-to-invoice queue so they can be billed again correctly. An invoice that has passed its due date and is still unpaid is highlighted as overdue so it stands out for chasing. If you use the Xero connection, payment status flows back automatically: when an invoice is settled in Xero, Loaditude marks it paid and records the date, so you are not reconciling two systems by hand.
Where to go next
- Quotes and rate cards covers pricing the work before it is delivered and invoiced.
- Transport reports and analytics covers the financial reports that sit on top of your invoicing.