Ask a new merchant what it costs to run a PrestaShop store and you'll get a tidy list: hosting, domain, a theme, a handful of modules, maybe some opening stock. It's a comforting list because it's mostly one-off and easy to total. Then the first quarter closes, the accountant reconciles, and the running cost turns out to be several times the estimate. The obvious numbers weren't wrong — they were just a fraction of the picture. This post is about the other costs: the recurring, easy-to-miss ones that don't appear on any "start a store" checklist, and specifically where they surface inside PrestaShop so you can see them coming.

We're staying in our lane here. How those costs shape your actual margin is its own discipline (profit margins: understanding your real numbers), and the moment your own time becomes the bottleneck is a hiring decision, not a cost line (when to hire your first employee). What follows is the inventory of spend itself — what it is, why it's invisible, and where PrestaShop puts it in front of you if you know which screen to open.

Payment processing: the fee you can see but rarely reconcile

Every order carries a processing fee — commonly around 1.5–3% plus a fixed per-transaction charge for cards, higher for PayPal and buy-now-pay-later. Merchants know this in the abstract. What they miss is that PrestaShop doesn't deduct it anywhere visible: the order total in Orders → Orders is the gross the customer paid, and your dashboard turnover is gross too. The fee only exists in your payment provider's statement, which is why it quietly disappears from mental margin maths.

So where do you make it visible? Two practical spots. First, if you run different gateways, the Payment → Preferences screen lets you restrict methods by country, currency and carrier — useful when one gateway's fees are materially worse for a given market. Second, PrestaShop has no native per-payment-method surcharge, but a third-party module can add a fee line by hooking the PaymentOptions hook (hookPaymentOptions, which renders each payment method at checkout), which is how some merchants pass card costs through transparently. Whether you absorb the fee or surface it, the point is the same: it's a real per-order cost that your back office hides by default, so budget it before you price.

Returns: the cost that doesn't refund itself

When a customer returns an item, PrestaShop refunds the product price through the order detail screen and, if you use them, generates a credit slip and merchandise return under Customer Service → Merchandise Returns (the RMA workflow, which you switch on with the Enable returns option on that same screen). What it does not do is reverse the costs that already happened: the original outbound shipping, the inbound return label if you paid for it, the staff time to inspect and repackage, and — critically — the payment processing fee, which most providers keep even on a full refund.

That last one is the trap. A refund in PrestaShop returns the order total to the customer, but your provider statement still shows the original fee plus, sometimes, a refund fee. Across a category with a 10–30% return rate, that adds a recurring cost that never appears in the order screen at all. We dig into how this erodes contribution per order in the margins post above — here the takeaway is operational: track returns as a cost centre, not just a customer-service queue, and watch the credit-slip volume in Orders → Credit Slips as a leading indicator.

The content treadmill: photography, descriptions, and the SEO it feeds

Product photography reads like a one-time expense and behaves like a subscription. Every SKU you add needs images, and PrestaShop will happily let you upload as many as you like per product (Catalog → Products → [product] → Images), generating each configured thumbnail size on save. That generosity has a cost on both ends: the shoot or the stock licence up front, and disk plus regeneration time later — adding or resizing an image type in Design → Image Settings triggers a full thumbnail regeneration across your catalogue, which on a large store is a real, recurring chunk of server time.

Descriptions are the quieter line item. Writing a genuine description per product (not a duplicated paragraph) is hours of work, and thin or duplicated content is exactly what gets a catalogue demoted — we learned that the expensive way. Budget content as an ongoing operating cost proportional to how fast you add SKUs, the same way you budget stock. If specialising your range keeps that catalogue small and each product description worth writing, that's a cost argument in favour of focus: niche e-commerce: why specializing beats trying to sell everything.

A legitimate EU store carries compliance costs that no module bundle includes. PrestaShop gives you the containers — Design → Pages (the CMS) for your terms, privacy, returns and cookie pages, plus a customer data-privacy consent box on the registration form — but it does not write the texts, and a copied-from-the-internet privacy policy is a liability, not a saving. Lawyer-drafted texts or a maintained legal-text service is a recurring line.

The same goes for the machinery behind those pages:

  • Cookie consent that actually gates non-essential scripts (core compliance support is limited; most stores need a CMP/cookie-consent module that blocks non-essential scripts before consent, and pay for it yearly).
  • GDPR data requests — PrestaShop's official GDPR module covers export/erasure, but the process of handling requests is staff time.
  • Cross-border VAT — the International → Taxes / Tax Rules screens let you build per-country rules, but OSS reporting and the reconciliation across payment methods and marketplaces is accountant work, and e-commerce bookkeeping costs more than ordinary small-business bookkeeping for exactly that reason.

None of this is optional, and almost none of it is one-off.

Marketing: the cost that never stops being a cost

This is the line merchants most want to treat as temporary "launch spend" and most reliably can't. Paid acquisition (search and social), the SEO and email tools you run alongside it, the feed you push to Google Shopping — all recurring. PrestaShop ties into this stack through generated product feeds and tracking integrations (the Modules marketplace is full of feed and pixel connectors), but the platform only carries the data; the ad budget and the tool subscriptions are yours every month. The honest planning rule is that a store which stops marketing stops growing, so this is an operating cost, not a project cost. How hard to push it, and against which customers, is a separate question we cover in customer lifetime value — spend follows LTV, not gut feel.

Packaging and shipping supplies: the per-order cost hiding in fulfilment

Boxes, void fill, tape, branded inserts, label stock — somewhere between roughly 1 and 3 EUR per parcel depending on how nicely you pack. It feels trivial per order and turns into a meaningful monthly number at volume, and unlike most costs above it scales linearly with success: the busier you get, the more it bites. PrestaShop's Shipping → Carriers and Shipping → Preferences screens let you model carrier price and even add handling charges and free-shipping thresholds, but the physical consumables sit entirely outside the platform — they're a real cost you set against the shipping you charge, and the gap between the two is pure margin or pure leak.

Software subscriptions: the stack beyond hosting

Your hosting bill is the floor, not the total. A functioning store usually rides on a stack of small monthly charges that individually look harmless:

LayerWhere it touches PrestaShopCost shape
Email / marketing platformConnector module + export hooksMonthly, scales with list size
Accounting / invoicing syncOrder & invoice export moduleMonthly
Support / live chatFront-office moduleMonthly per seat
Analytics & tag managementTracking module / theme codeFree to monthly
BackupsOff-platform (host or service)Monthly
SSL & domainServer levelYearly (SSL often free)
Premium modules & support/upgrade renewalsModule & Services screenOften yearly

That last row is the one PrestaShop merchants forget most: many commercial modules sell a year of updates and support, and renewal is a real recurring cost — though a one-off licence with lifetime updates (our model at mypresta.rocks) takes that particular line off your annual budget, which is worth weighing when you compare two modules that look similarly priced on day one. Individually modest, this stack compounds; review it whenever you open Modules → Module Manager and ask which subscriptions are still earning their keep.

A note on the cost everyone names last: your time

If you run the store yourself, your hours are a cost even though no invoice arrives. We're deliberately not unpacking that here because it isn't really a spending decision — it's a staffing one, and it deserves its own framework: at what point your own time is worth more than the cost of help is exactly the question in when to hire your first employee, and what to hand off versus keep is covered in outsourcing for e-commerce. For costing purposes, just don't pretend your labour is free; the stores that do are the ones underpricing everything.

Planning for the real number

There's no clever formula here, only an honest one: the costs you didn't list above tend to add up to roughly the costs you did. A useful sanity check is to take your tidy launch estimate and assume the true running cost lands well above it — not because anything is twice as expensive as quoted, but because half the spend was never on the list. The merchant who plans for that prices with room to breathe and survives the first year; the one who plans for the comforting list underprices, runs short of cash, and never quite works out why.

The reassuring part is that almost every cost above shows up somewhere in PrestaShop if you go looking — in Credit Slips, in Image Settings regeneration time, in the renewal dates on your Module Manager, in the gap between the shipping you charge and the supplies you buy. None of it is hidden by malice; it's hidden by default screens that show gross, not net. Knowing which screen tells you what is most of the battle. For the next step — turning this cost inventory into a margin you can actually steer — start with profit margins: understanding your real numbers.

Tags: PrestaShop SEO
Share this post:
David Miller

David Miller

Over a decade of hands-on PrestaShop expertise. David builds high-performance e-commerce modules focused on SEO, checkout optimization, and store management. Passionate about clean code and measurable results.

Enjoyed this article?

Get our latest tips, guides and module updates delivered to your inbox.

Comments

No comments yet. Be the first!

Be the first to ask a question or share useful feedback.

Loading...
Back to top