Every shipping label is bought one of two ways: from a platform, at its price, on its carrier account, or from the carrier, at a price you agreed with it. The first gets a new shop shipping the same afternoon. The second takes a form, a call and a signature. Which is cheaper is answered here with published prices, and the answer is less one-sided than either kind of vendor would like.
How much it matters depends on how big delivery is in your costs, and the only figures with a traceable public source are old. In a 2015 European Commission consultation of 64 retailers - which the Commission itself calls “not statistically representative” - over half put delivery at 15% or less of domestic e-commerce turnover, and nearly half put cross-border delivery at 6–25%. S30 Your own number is one carrier invoice away.
Two ways to buy a shipping label
- Aggregator rates. The platform holds the carrier contract, buys labels at its negotiated price and resells them at a price it sets. You pay the platform; the carrier never invoices you. Sendcloud's and Packlink PRO's free plans both describe this as their “pre-negotiated shipping rates”. S3,S6
- Your own contract. You sign with the carrier, it invoices you, and any software only creates the label with your credentials. ShippyPro's help centre puts it plainly: “You need your own contract with your chosen carrier before integrating it with ShippyPro.” S15
- Both at once. Sendcloud lets paid plans upload an existing contract S1, and Easyship's paid plans let you link your own courier account. S13
So what matters is not which software you use but whose name is on the carrier account. That decides who sets the rate, who gets the invoice, and who the carrier deals with when something goes wrong.
For shops in the Baltics and Poland the choice is narrower than it looks. Sendcloud lists eight countries it “fully supports shipping from”, none of them Baltic, and allows shipping from Poland only with a direct carrier contract and an invoice address in one of the seven EU countries on that list. S1 Shopify's carrier accounts cover ten countries; Lithuania, Latvia and Estonia are not among them, and in Poland the one option is DHL eCommerce Poland, for “domestic and selected European Union countries”. S9 Local resellers exist - one is in the worked example below - but the two names most shops start with do not sell labels from the Baltics.
How aggregators make money
There are three places to earn: a subscription, a fee per label, and the difference between what the platform pays the carrier and what it charges you. The first two are published. The third is not - no pricing page, listing or help centre checked for this article states the margin in its rates. That is normal commercial practice, and the reason to compare rates rather than discounts.
| Platform | Whose rates | What the platform charges |
|---|---|---|
| Sendcloud | Its own; yours on paid plans S1 | €28–€639 a month plus €0.07–€0.10 per label, €0.15 more per label above the plan's limit. The label fee also applies on your own contract. S1,S2 |
| Packlink PRO | Its own; one of yours on Plus S6 | “With no fixed fees, you only pay for the labels you use,” says the listing. Plus: €25 + VAT a month for “extra label discounts” and a “reduced admin fee”. S6 |
| Shopify Shipping | Shopify's carrier accounts, ten countries S9 | No label fee stated; labels go on your Shopify bill, and discounts “vary based on your Shopify plan”. S10,S11 |
| Easyship | Its own; yours on paid plans S13 | Free up to 50 shipments a month; $29, $69 and from $99 a month for 500, 2,500 and 5,000–10,000. S13 |
| MakeCommerce Shipping+ | Its own; yours on Shipping+ Pro S16 | €0 a month on its prices; on your own contracts €5 a month plus €0.05 per label above 100. S16 |
As shown on each vendor's pricing page, help centre or Shopify App Store listing, checked 13 October 2026. Sendcloud's pricing page shows one price per plan beside a monthly/yearly switch; its Shopify listing gives the same per-label fees as annual-plan fees and €0.10–€0.12 on monthly plans, so these are annual-billing figures. S1,S3
Per-label fees look small and scale in a straight line. On Sendcloud's published annual-billing figures, the cheapest plan that fits costs €58 a month at 300 labels, €295 at 1,500 and €575 at 5,000 - before a single parcel is paid for, and whether the rates are Sendcloud's or yours. S1,S2 Sendcloud is the example because it is unusually transparent: the per-label price, it says, is “not the shipping costs but the price for the creation of shipping labels”. S1
The margin in the rate is harder to see, because aggregators advertise discounts and a discount needs a baseline. Easyship's listing promises rates “up to 91% off”; its rates page says the discounts “are off standard retail or daily rates”. S13,S14 That is the counter price, and Smartposti's own pages show how far it sits from a business rate: a small (S) locker parcel from Estonia to Lithuania is €8.13 with VAT at the counter S18 and €3.58 plus VAT on the contract price list. S17 Read any “X% off” as a statement about the first number, not the second.
Nor is the price at checkout always final. Sendcloud invoices carrier surcharges for “weight corrections, dimensions, or delivery area” later, once the carrier reports them S2; Packlink PRO adds at least £1.30 plus 20% of the rate for a weight or size mismatch, up to a year after the order S7; Shopify charges label adjustments to your account, sometimes weeks later. S11 That is the carrier's correction passing through, not extra margin, but it belongs in the comparison.

What your own contract costs
The headline cost of your own contract is a number you cannot look up. DPD Lietuva offers “an individual offer” through a form asking how many parcels you send a month S22; LP EXPRESS mentions volume discounts without publishing them. S26 Smartposti in Estonia is the exception, with a price list for contractual clients that starts at €2.19 plus VAT for an XS locker parcel within Estonia; an XL one to Lithuania is €7.95. S17 Treat that as an opening position: in October 2026 Smartposti advertised €1.79 within Estonia and €2.99 to Latvia and Lithuania to new business customers, for up to six months; the offer page had been taken down by 5 November. S19
Around that number sit the costs that are published, and worth asking about line by line:
- Indexed surcharges. Percentages the carrier adds and resets on its own schedule. DPD Lietuva's fuel surcharge was 30.51% in January 2026 and 54.95% in November, with a 29.8% floor, plus a 39.48% labour surcharge, and it “may be determined and applied retrospectively to services already rendered within the relevant reporting period”. S21 DPD Eesti's energy and CPI surcharge went from 12.16% in August to 23.06% in November, beside a fixed 23% fuel and a 24.96% labour surcharge. S24 Smartposti's locker fuel surcharge in Estonia is 4.15% from 1 November, after 4.23% in October. S20
- Failed deliveries. DPD Eesti charges 75% of the original transport price for each further delivery attempt. S24
- Cash on delivery. DPD Eesti charges €1.80 a parcel plus 1% of the amount collected. S25 UPS's Lithuanian terms give you 45 days from delivery to report a missing COD remittance. S29
- Collection. Lietuvos paštas charges €9 a month plus VAT for one collection day a week, €18 for two. S27
- Payment terms. Lietuvos paštas invoices monthly, payable against one invoice at the end of the period S27,S28; UPS's Lithuanian terms make charges due within seven days of receiving the invoice. S29 None of the carrier pages checked mentions a deposit or a minimum volume; LP EXPRESS suggests a business account from “50 ir daugiau siuntų per mėnesį” - 50 or more parcels a month. S26
- Price changes. Lietuvos paštas commits to 30 days' notice before a price change. S28
A worked example at three volumes
Most of the numbers an honest comparison needs are not public. One lane is: Smartposti parcel lockers from Estonia, where Smartposti publishes its contract price list S17 and an aggregator - Shipping+, run by the Estonian company MakeCommerce - publishes its price for the same service. S16 Here is a shop sending small (S) locker parcels within Estonia.
| 300 parcels | 1,500 parcels | 5,000 parcels | |
|---|---|---|---|
| Aggregator: €1.99 a parcel, no contract S16 | €597 | €2,985 | €9,950 |
| Own contract at the published price: €2.57 + 4.15% fuel S17,S20 | €803 | €4,015 | €13,383 |
| Label tool for the own contract: €5 + €0.05 per label above 100 S16 | €15 | €75 | €250 |
| Own contract, total | €818 | €4,090 | €13,633 |
| Own contract at Smartposti's October 2026 new-customer price (€1.79 + fuel, up to six months; offer since withdrawn), with the label tool S19,S20,S16 | €574 | €2,871 | €9,571 |
Reasoning from published prices, not a quote. Assumptions: every parcel is size S (up to 12 × 34 × 60 cm), locker to locker within Estonia; prices exclude VAT, rounded to whole euros; Smartposti's 4.15% parcel-locker fuel surcharge (from 1 November 2026) applies to the contract rates; MakeCommerce's page does not mention a fuel surcharge, so its €1.99 is treated as all-in, which flatters the aggregator if it is not; €1.99 is its regular price from 1 December 2026 (€1.85 until 30 November); the label tool is MakeCommerce's Shipping+ Pro, so both routes use one vendor; no collection fees. Smartposti's contract price is size-banded (XS €2.19 to XL €5.68 within Estonia), the aggregator's is flat. Negotiated rates differ from both and are not published. Checked 6 November 2026. S16,S17,S19,S20
On published prices the aggregator wins at every volume: by about €221 a month at 300 parcels, €1,105 at 1,500 and €3,683 at 5,000. The own contract comes to about €2.73 a parcel all-in against €1.99. S16,S17,S20 An article about own contracts should say that plainly.
The useful number is the break-even. With 4.15% fuel and about €0.05 a label for the tool, your own contract beats €1.99 once the negotiated base rate is below roughly €1.86, at all three volumes. S16,S20 The €1.79 new-customer rate Smartposti advertised in October 2026 was under it S19, which says something about the distance between a published list and what a carrier will agree to. That offer has since been withdrawn; whether you can get and hold a rate under €1.86 is the question to put to the carrier.
The answer also turns with the lane. The same S parcel from Estonia to Latvia or Lithuania costs €3.95 through the aggregator, against about €3.60 and €3.78 on Smartposti's published contract prices with fuel and the label tool. S16,S17,S20 A mostly domestic shop still comes out ahead on the aggregator at list prices, but its cheapest route differs by destination - an argument against treating the decision as all-or-nothing.
What changes besides the price
Price is the part that fits in a spreadsheet. The rest shows up the first time a parcel goes missing, or the day you want to leave.
Who handles the claim
On your own contract the claim is between you and the carrier. Sendcloud tells its own-contract users the same: “For any incidents related to shipments made with your own rates (your own contract), you must contact the carrier directly.” S4 On its rates you file through Sendcloud, which forwards the claim, and “Sendcloud has no direct control over how quickly they respond.” S5 Shopify routes claims for DPD, DHL, Royal Mail and others through a Shopify Support form. S12 An intermediary is not necessarily slower. It is one more party between you and the money.
What you are paid is capped by the carrier's terms, whatever the goods were worth. DPD Lietuva insures parcels automatically to a goods value of €520 in Lithuania S23; DPD Eesti covers parcel locker parcels up to €265. S25 UPS's Lithuanian terms limit liability to “proven damages of EUR 85 per shipment” where no international convention applies, unless you declare a higher value. S29 Packlink PRO's standard cover is per kilo - 8.33 SDR per kg for international road transport, by its own account S8 - and Sendcloud notes that if a parcel is insured neither by the carrier's default cover nor by Sendcloud, “it's not possible to make a claim based on sales or purchase value”. S5 Read the liability clause before the rate.
Billing
Aggregators bill on their own cycle: Sendcloud invoices shipping every two weeks with 14 days to pay S2; Shopify charges labels to your Shopify card and refunds a voided label as account credit, within 30 days. S11 A direct contract bills on the carrier's terms - monthly at Lietuvos paštas S27, within seven days of receiving the invoice at UPS. S29 What changes is whose credit terms you live on.
Data and switching
A quieter difference, and this is reasoning rather than a finding: on aggregator rates your shipping history sits on the aggregator's carrier account, not yours, so when you later ask a carrier for a contract, what you can show it is your order data. The same goes for anything built on the platform's contract, such as return labels issued on its account. Leaving means rebuilding those, not just changing a price.
If you use both routes on one platform, check which wins when something fails. Sendcloud has a setting - “Use only my rates for the carriers I've added contracts for” - that it says keeps your own rates in use “even if a shipment fails or needs to be re-announced”. S4 Know whether yours is on.
When an aggregator is the right call
Often. The case is real, and on the published numbers above it is sometimes simply cheaper.
- You are starting out, or ship a few dozen parcels a month. Sendcloud's free plan covers up to 20 parcels a month “with no courier contract and no subscription fee” S1, Easyship's 50 S13, and LP EXPRESS itself pitches a business account at 50 or more a month. S26 Below that, a contract is paperwork for a rate you may not get.
- The aggregator's price beats any contract you can get. The worked example is that case at list prices. Smaller senders are the most likely to go without a discount: in the Commission's 2015 consultation, micro businesses were less likely than larger companies to report getting one - a non-representative sample of 64 retailers, but the direction is unsurprising. S30
- You ship a lane you have no volume on. An occasional parcel abroad is where a reseller's pooled volume is most likely to beat what you could negotiate alone - reasoning, not a measurement, so price the lane first.
- You want one invoice and one support desk. For a team of one, that is worth something no rate comparison shows.
- You need to ship tomorrow. Aggregator rates work on day one. A contract is a form, a call and a signature: at Lietuvos paštas, a qualified e-signature or a signed copy scanned and emailed back. S27
The case weakens as volume grows, as your lanes concentrate, and as per-label fees pile up on a rate that is no longer the lowest you could get. Where that point falls depends on your parcels; the worked example shows how to find it.
How to get your own contract
The short version, because it has its own article:
- Know your numbers. Parcels a month is the first thing DPD Lietuva's offer form asks S22; Lietuvos paštas's contract form splits it between Lithuania and abroad, and its offer form adds average weight and size. S27
- Ask two or three carriers, in writing. Base rate per size and lane, every surcharge and its base, the COD fee and remittance time, payment terms, liability per parcel, collection fees.
- Have the company documents ready. Lietuvos paštas asks for company details, VAT code, bank account and proof of who may sign. S27
- Ask for API credentials with the contract. Label software connects with keys issued for your account, not your web login.
- Keep the aggregator for the lanes it wins. Nothing forces one route for every parcel.
Once you have one contract, the case for a second is in why one shipping carrier is never enough, and the carriers you can connect are on the carriers page.
