Sendcloud Invoice Reconciliation: A Line-by-Line Guide

Walk a Sendcloud biweekly invoice line by line: subscription, label fee, carrier rate, surcharges, adjustments. Match shipments, dispute, post cleanly.

Published
Updated
Reading Time
18 min
Topics:
Industry GuidesLogisticsparcel shippingSendcloudcarrier invoice disputesecommerce shipping reconciliation

A Sendcloud invoice arrives every two weeks and combines five distinct cost layers: a flat subscription fee, a per-label processing fee for Sendcloud's own software, the carrier rate pass-through for the underlying shipment, post-billed carrier surcharges that often land on a later invoice than the one carrying the original label, and adjustments or refunds for cancellations, undelivered shipments, and dispute reversals. Surcharges have a hard 14-day dispute window from the date they appear on an invoice, and they can show up months after the shipment they relate to. Sendcloud invoice reconciliation is the work of separating those five layers, tying every line back to a specific shipment, validating disputable surcharges before the window closes, and posting the totals into the books with the right VAT treatment for an NL-based supplier.

This walkthrough is for the operations or finance staff with the biweekly PDF and CSV export in front of them. If your relationship to the carriers runs the other way — a direct UPS, FedEx, or DHL contract with Sendcloud not in the picture — the reconciliation job has different mechanics covered in the guide on auditing a direct UPS, FedEx, or DHL contract at shipment level. And if your shipping cost arrives bundled inside a 3PL bill alongside storage, pick-pack, and other activity-based lines, start instead with the guide on reconciling a 3PL bill where shipping is bundled with storage and handling.

The Five Cost Layers, Separated

Every Sendcloud invoice combines five layers that behave differently from one another. Reconciling the bill means separating them in your head before you touch the spreadsheet, because each layer has its own logic about who set the price, when it lands, and which line in your chart of accounts it eventually belongs in.

Subscription fee. A flat plan charge billed regardless of volume. Sendcloud publishes four tiers — Lite, Growth, Premium, and Enterprise — and the invoice line is the price of whichever tier you are on. Identical fortnight to fortnight, unless you change plan mid-cycle and pick up a prorated adjustment.

Label processing fee. Sendcloud's per-label software charge, separate from any carrier rate. Each tier includes a monthly allowance of labels at no per-label cost; additional labels are billed at €0.15 as overage. The €0.15 figure is worth keeping in mind when planning seasonal volume, since Black Friday and Christmas peaks are exactly when overage shows up even if underlying carrier rates haven't moved.

Carrier rate pass-through. The carrier's quoted shipping rate at the moment the label was created — what most merchants call "shipping cost." Sendcloud passes the rate through; the price was set by DPD, DHL, UPS, PostNL, Bpost, GLS, Royal Mail, or whichever carrier handled the parcel. Merchants on a Sendcloud-negotiated rate see the platform's contracted rate; merchants who have linked their own carrier contract see the rate from that contract. Either way, this is the largest variable line on most invoices.

Post-billed carrier surcharges. Fuel, peak-season, dim weight (volumetric weight), residential delivery, oversized or non-conveyable, address correction, manual handling, and remote area surcharges. Each is set by the underlying carrier's published surcharge tariff, not by Sendcloud — the platform receives the surcharge data from the carrier and adds the line to a future invoice. The defining feature of this layer is timing: a surcharge for a parcel sent in cycle 1 lands on cycle 2's invoice, or cycle 3's, or later, because the carrier reports it after the shipment has moved through the network and been weighed, scanned, and delivered. (DACH-side correspondence may use the German Nachberechnung — literally "post-calculation" — for the same concept.) This is the structural source of most reconciliation difficulty.

Adjustments and refunds. Credit notes for cancelled labels, refunds on undelivered or returned-to-sender shipments under Sendcloud's specific refund rules, and reversed surcharges where a previous dispute was upheld. Adjustment lines often look identical to ordinary line items at a glance — same tracking number column, same parcel ID — but the amount is negative. Sum the invoice with adjustments included; do not net them out invisibly, because the audit trail on a credit note matters as much as the audit trail on a charge.

Why Late Surcharges Show Up on This Invoice for Shipments From Earlier Cycles

A Sendcloud invoice covers labels created roughly within a fourteen-day window. The carrier rate pass-through for those labels appears on the same invoice as the labels themselves, because the rate was already known at label creation. Post-billed surcharges work differently. The carrier reports them later — after the parcel has been processed through the network, weighed and scanned at the depot, attempted for delivery, and reconciled internally on the carrier's side. Whichever Sendcloud invoice falls due after the carrier reports the surcharge is the one that carries it.

A specific timeline makes this concrete. A label generated on day 3 of cycle 1 appears on cycle 1's invoice at the base rate. A fuel surcharge on the same parcel might land on cycle 2. A dim-weight surcharge from a carrier-side reweigh might land on cycle 3. A residential-delivery surcharge, applied after the carrier classifies the destination as a private address, might land on cycle 4 or later. One parcel can produce cost lines on three or four separate invoices, and none is wrong — each reflects when its cost component became known on the carrier's side.

The upper bound matters for any quarterly or year-end work. Sendcloud's own published guidance is that surcharges can arrive up to seven months after the original shipment. The bulk land within one or two cycles, but the long tail extends far enough that a December shipment can still produce an adjustment line on an invoice issued the following summer. Any reconciliation routine that closes the year on the basis of "the last invoice of December covers December shipments" carries a known underestimate.

The fix is to read the CSV columns rather than the invoice header. Each line on the CSV export carries a ship date — the date the label was created — alongside the invoice date, the parcel ID, and the tracking number. The ship date is what tells you which actual shipment a cost line attaches to, regardless of which fortnightly invoice happens to contain it. A reliable per-period figure is built from the CSV grouped by ship date, not by invoice date. A merchant who closes April based on the April-end invoice will simultaneously understate April's true shipping cost (because some April surcharges have not been reported yet) and absorb February and March late surcharges into the April figure.

The dispute window runs on its own clock, starting from the date the surcharge appears on an invoice — not from the date of the underlying shipment. A residential-delivery surcharge on a January shipment that lands on an April invoice still has 14 days from the April invoice date to be challenged. Cycle-by-cycle review, run inside the first few days after each invoice issues, is what keeps that window workable.

Matching the CSV Export to Your Shopify, WooCommerce, or OMS Orders

The CSV export, not the PDF, is the operational artifact for reconciliation. The PDF rolls cost categories up into summary blocks — useful for a finance director scanning the total, less useful for tying every line back to a specific shipment. The CSV carries every parcel as its own row with surcharges broken out, which is what makes per-order matching possible.

The columns on a typical Sendcloud CSV invoice export, and what each contributes to the reconciliation:

  • Parcel ID and tracking number. The two unique identifiers for the shipment. Parcel ID is Sendcloud's internal handle; tracking number is the carrier's. Either can be the join key when looking the parcel up in your OMS or carrier portal.
  • Ship date. The date the label was created. This is the column you group on for any per-period analysis.
  • Carrier and service level. Which carrier handled the parcel and which service tier — DPD Classic, DHL Parcel Connect, UPS Standard, PostNL Briefpost, and so on. Service level matters because surcharge schedules vary by service.
  • Declared weight and billed weight. The weight you supplied at label creation versus the weight the carrier billed against — usually after their depot reweigh and any volumetric calculation. The delta between these two columns is the single best early-warning signal in the file. A parcel whose billed weight materially exceeds its declared weight is exactly the parcel that will generate a dim-weight or oversized surcharge in a future cycle.
  • Destination country and postcode. The country drives VAT and customs treatment; the postcode drives any postcode-specific surcharges (remote area, residential classification).
  • Base rate. The carrier rate pass-through for this parcel at label creation.
  • Surcharges. Depending on the export format these appear either as separate columns (one per surcharge type) or as stacked rows (one row per surcharge for the parcel). Either way, each surcharge carries its own line amount, the surcharge type, and a reference back to the original parcel.
  • VAT rate, line net, and line gross. Standard tax columns per line. VAT rate may be zero where reverse charge applies — see the accounting handoff section below for what to do with that.

The linking key that makes all of this useful is the external order ID column. When a label is created, Sendcloud carries the merchant's external order ID — the value passed in the API call or set by the platform integration with Shopify, WooCommerce, Magento, or whichever ecommerce backend feeds the labels — onto the parcel record. That ID is what lets you take a row from the Sendcloud CSV and find the matching order in the source system. Confirm where it appears in your specific export; on most modern integrations it lands in a column labelled order number, external order reference, or similar. On legacy parcels created before an integration was in place, the column may be empty, in which case the tracking number in your OMS shipping log is the next-best join key.

The pivot pattern is the same regardless of spreadsheet tool. Load the CSV into a working sheet. Group rows by external order ID. Sum base rate plus all surcharges per order to get the true Sendcloud cost — including surcharges that arrived on later invoices, which is why a master sheet that accumulates rows across all invoices is more reliable than one sheet per invoice. Pull the checkout shipping amount from the matching Shopify, WooCommerce, or OMS order export. Add a calculated column for shipping margin: customer-paid shipping minus Sendcloud cost. Sort descending by negative margin and the worst-performing orders surface first, with the patterns — destination country, weight band, service level — visible alongside them.

Late surcharges from a future invoice need to be added back to the order they belong to, not booked against the cycle they appeared on. A new surcharge row arriving on cycle 5's invoice, with an external order ID matching an order from cycle 1, simply joins the existing rows for that order in the master sheet; the per-order total updates and the shipping margin recalculates. Reconciling each invoice in isolation cannot do this without manual cross-referencing.

Getting the CSV into the master sheet without a brittle parser is the practical question. Most merchants take one of three routes. Direct CSV download from the Sendcloud dashboard, copy-pasted in — workable at low volume, error-prone at scale. In-house tooling, typically a small Python or Apps Script appending rows — fine while the team has bandwidth to maintain it. Or automated Sendcloud invoice extraction through a tool that ingests the CSV (or the PDF when the CSV isn't readily available) and outputs a normalised structured file. The third route fits merchants with a folder of biweekly invoices stretching back months: the same prompt is applied to every file in the batch, with each output row tied back to its source page for audit.

The same extraction pattern carries over to adjacent freight workflows where the bill is similarly structured around line items that need to land in a working spreadsheet. The piece on extracting line items from freight invoices into a spreadsheet walks that adjacent case for readers who handle freight bills alongside parcel ones.

Deciding Which Surcharges to Dispute, and What Evidence Each Case Needs

Sendcloud requires surcharge disputes to be filed within 14 days of the cost appearing on the invoice. That is the Sendcloud surcharge dispute window, and it shapes how the work has to be organised. Sendcloud is a reseller, sitting between the merchant and the underlying carrier, which means a dispute filed with Sendcloud has to be passed on to DPD, DHL, UPS, PostNL, Bpost, or whichever carrier produced the surcharge. Each has its own internal claim window with its own start date, and Sendcloud needs time to package the evidence and submit it before that window closes. In practice the merchant has roughly the first ten days to validate, document, and file. Ad-hoc spot-checking misses winnable disputes; routine batch review, cycle by cycle through every post-billed surcharge on the invoice, is the only operationally viable response.

Four surcharge categories produce the bulk of disputable cases on a typical Sendcloud bill. Each has a clear test for whether the surcharge is contractually correct or carrier-side error.

Weight surcharge. The carrier reweighs the parcel at the depot and bills against a higher weight than the declared figure. Disputable when the merchant has a timestamped scale photo, a packed-weight record from the warehouse management system, or a picking-system weight that contradicts the carrier's billed weight. Not disputable when the carrier reweigh sits within tolerance — most carriers absorb small variances and the surcharge only triggers above a meaningful delta. Evidence: the original weight reading with a timestamp matching the dispatch date.

Residential delivery surcharge. The carrier classifies the destination as a private residence and bills the residential premium. Disputable when the destination is in fact a registered business — listed in a commercial directory, returning a commercial classification on a postcode lookup, or with a verifiable VAT-registered company at that address. Not disputable on consumer-direct shipments to home addresses. Evidence: a screenshot of the postcode lookup or business directory entry.

Dim-weight surcharge. The carrier calculates a volumetric weight from the parcel's dimensions, divides by the dim divisor, and bills the higher of actual and volumetric weight. Disputable when the carrier applied a divisor different from the one in your contract — billing using a 4000 cm³/kg divisor when the contract specifies 5000 produces an overcharge that should be reversed. Not disputable when the divisor is correct and the package was genuinely larger than its weight justified. Evidence: the contract clause showing the agreed divisor, ideally with the as-shipped dimensions from the packing system.

Manual handling or oversized surcharge. The carrier flagged the parcel as outside the standard machinable envelope — too long, too wide, irregularly shaped, or above the weight ceiling. Disputable when the parcel fits inside every threshold in the carrier's published machinability schedule and you have the as-shipped dimensions to prove it. Not disputable when the parcel exceeded any single threshold. Evidence: the dimension record from the packing or fulfilment system at dispatch time.

The dispute itself flows through Sendcloud's portal and from there to the underlying carrier. Sendcloud cannot adjudicate — it can only escalate. Wins land back on a future invoice as a negative-amount adjustment row referencing the original surcharge, typically one or two cycles after submission. The master reconciliation sheet has to track dispute outcomes alongside surcharge inflows for the same reason it tracks late surcharges in the first place.

The 14-day clock does not allow ad-hoc evidence gathering. You cannot ask the warehouse for a scale photo of a parcel dispatched six weeks ago and reasonably expect to receive one. Capture dispatch evidence at dispatch time, keyed by parcel ID or external order ID, so the reconciliation worker can pull it on demand.

Posting the Net Result Into Xero, QuickBooks, or NetSuite

Sendcloud B.V. is a Netherlands-based company, and the supplier name on every invoice is Sendcloud B.V. with a Dutch address and a Dutch VAT number. That single fact — an NL-resident supplier billing a customer somewhere else in the EU or in the UK — is what determines the VAT treatment for the buyer, and it is where most chart-of-accounts mistakes on a Sendcloud invoice originate.

The two main buyer cases each have a specific treatment.

VAT-registered EU buyers in member states other than the Netherlands. This is intra-community reverse charge under the EU VAT Directive. Sendcloud invoices net — the bill carries no Sendcloud VAT — provided you have given Sendcloud a valid VAT number for your registered country and that number passes a VIES check. The buyer self-accounts for VAT in their own country at the local rate, declaring the VAT as both output tax and input tax on the same return. For a fully VAT-recoverable business the entries cancel out in cash terms, but the declaration is still required.

If your VAT number isn't on file, fix it with Sendcloud before the next invoice. Reclaiming Dutch VAT after the fact is the harder route.

UK buyers post-Brexit. The UK is outside the EU VAT system, and place-of-supply rules apply from the UK side. According to HMRC's place-of-supply rules for B2B services, for B2B services received from a supplier in another country, the place of supply is where the customer belongs, and the customer must account for the VAT under the reverse charge mechanism — acting as if it is both the supplier and the recipient of the service. In practice the UK buyer treats the Sendcloud invoice as if it were a UK supplier charging UK VAT: declare output VAT at the standard rate, claim matching input VAT on the same return. The cash effect nets to zero for a fully recoverable business; the return correctly reflects the cross-border services received.

The journal split for a typical Sendcloud invoice maps each cost layer to a chart-of-accounts line:

  • Subscription fee → Software Subscriptions, or whichever operating-expense account the business uses for recurring SaaS charges. This is administrative overhead, not a cost of goods sold.
  • Label processing fee → Shipping Software, or Fulfilment Costs if the chart of accounts groups all fulfilment-side software together. Some businesses fold this into the same Software Subscriptions account as the Sendcloud subscription; the cleaner read is keeping them separate so subscription cost (flat) and label cost (volume-driven) can be analysed independently.
  • Carrier rate pass-through → Shipping Costs, or COGS-Shipping for businesses that capture shipping in cost of goods sold for gross-margin reporting. This is the largest variable line and the one most directly tied to per-unit fulfilment economics.
  • Post-billed surcharges → Shipping Costs alongside the carrier rate, or — better, for variance tracking — a separate Shipping Surcharges sub-account so the surcharge component is visible in isolation. The split pays off the first time anyone asks what proportion of total shipping cost was post-billed surcharge rather than originally-quoted carrier rate.
  • Adjustments and credit notes → contra-entries against whichever cost line the original charge sat on. A surcharge reversed after a successful dispute reduces Shipping Surcharges; a refund on an undelivered shipment reduces Shipping Costs.
  • VAT line → handled per the reverse-charge mechanism described above, which means in most cases there is no Sendcloud VAT line on the bill at all, and the VAT entries on the buyer's side are self-account postings driven by the gross net-of-VAT total.

The reason to split surcharges into their own sub-account is direct visibility on surcharge leakage. A finance lead reading the monthly P&L sees the surcharge component as a separate line, can compare it cycle over cycle, and notices when it spikes — a sign something has shifted in the destination mix, the carrier routing, or the dim-weight performance of recent packaging. Rolling surcharges into shipping costs hides that variance.

The audit trail behind these journal entries is the master reconciliation sheet. Every line ties back to a source CSV line and a source invoice page; every cost-layer total can be traced to the rows that produced it. When an auditor asks how the carrier-rate-versus-surcharges split was derived, the sheet is the answer. The same per-shipment audit discipline appears in adjacent freight workflows: three-way matching for freight-forwarder billing packets is the same idea applied to freight-forwarder bills tied back to the booking and the proof of delivery.

Merchants posting Sendcloud invoices through DATEV with SKR03 or SKR04 account codes use a different account-mapping convention covered in the German bookkeeping companion to this article.

Once the chart-of-accounts split is captured as a memorized transaction or recurring journal template, posting each invoice takes minutes rather than hours.

Extract invoice data to Excel with natural language prompts

Upload your invoices, describe what you need in plain language, and download clean, structured spreadsheets. No templates, no complex configuration.

Exceptional accuracy on financial documents
1–8 seconds per page with parallel processing
50 free pages every month — no subscription
Any document layout, language, or scan quality
Native Excel types — numbers, dates, currencies
Files encrypted and auto-deleted within 24 hours
Continue Reading