Chat on WhatsApp
Développeur Magento freelance · Certifié Adobe

Freelance Magento developer in France

I’m Kishan Savaliya, a freelance Magento developer for shops in France, Adobe Certified since 2021 and working from Ahmedabad. French shoppers have habits a generic Magento install ignores: they pay with Cartes Bancaires, they often pick a point relais instead of home delivery, and they expect a cookie banner where refusing is as easy as accepting. I set up the store around those habits.

  • Paris mornings overlap my afternoon: 9:00 for you is 13:30 for me
  • CB accepted alongside Visa and Mastercard, with Alma or Klarna for paying in instalments
  • Mondial Relay and Colissimo pickup points chosen right in the checkout
Appel gratuit de 30 min, sans engagement Devis en 24h · USD ou EUR
  • Cartes Bancaires The French card network

    Most French cards carry the CB logo next to Visa or Mastercard, and EU rules let the shopper choose which one to use. I check that your gateway (Stripe, PayPlug, Adyen) accepts CB too.

  • RGPD + CNIL Cookie rules that bite

    The CNIL has fined large sites for making refusal harder than consent. On your store, the "Tout refuser" button sits next to "Tout accepter" and no tag fires before a choice.

  • TVA 20% Plus 10%, 5.5% and 2.1%

    French VAT has four rates, and books, food and some services sit on the reduced ones. I set tax classes per product so your prices and invoices match what your accountant expects.

  • 6 hrs Shared with Paris

    I work 12 PM to 6 PM India time for European clients. That is 7:30 to 13:30 in Paris in winter and 8:30 to 14:30 in summer.

Ce que vous obtenez

Six things a French Magento store needs

Selling in France means playing by French habits and French law: the CB network, CNIL cookie rules, pickup points, the 14-day withdrawal right and the new e-invoicing rules. This is how I handle each one.

  • CB cards and paying in instalments

    Card payments through Stripe, PayPlug, Adyen or Worldline with CB enabled. French shoppers also like paiement en 3 ou 4 fois, so I add Alma or Klarna, plus PayPal for those who prefer it.

  • Consent the CNIL way

    No pre-ticked boxes, a choice per purpose, refusal as easy as acceptance, and the choice remembered for a sensible time. I also put the legal notices LCEN requires (mentions légales) where shoppers can find them.

  • E-invoicing with Factur-X

    France is moving business invoices to electronic formats in stages, starting with larger companies and reaching small firms by 2027. I generate Factur-X invoices from Magento orders and connect them to your platform, or to Chorus Pro if you sell to the public sector.

  • Pickup points and Colissimo

    Many French shoppers would rather collect a parcel at the tabac or a shop near home than wait in for a courier. I add a Mondial Relay or Colissimo point relais map to checkout, with Chronopost for next-day orders.

  • Withdrawal rights and trade buyers

    Consumers get 14 days to change their mind under the Loi Hamon, so returns and the withdrawal form need to be clear. For trade buyers I check SIRET and the intra-EU VAT number, and set payment terms of 30, 45 or 60 days.

  • From Paris fashion to Bordeaux wine

    Paris has the fashion and beauty brands, Lyon more industrial and trade suppliers, Bordeaux wine sellers who need age checks and excise-aware shipping. I ask about your trade first, because the setup follows from it.

Notre méthode

Five steps from booking to live

Paris is 4h30 behind Ahmedabad in winter and 3h30 in summer, so your 9:00 is my 13:30 or 12:30. Call on day 1, written devis on day 2, staging from day 3, then the live switch at about 3 AM Paris time and two weeks of cover in French working hours.

  1. 01

    Audit

    Free 30-min audit of your French store, CB integration, RGPD posture, Mondial Relay setup, TVA configuration, Core Web Vitals. Booked in your morning.

    Day 1
  2. 02

    Quote

    Fixed-price written quote in USD with EUR equivalent on request. Reserved start date, risk register, written project plan (devis). You sign, I book the slot.

    Day 2
  3. 03

    Build

    A short check-in around 11 AM Paris time. Staging access from day 3, with test orders using French addresses and CB test cards.

    Days 3-14
  4. 04

    Deploy

    Blue-green cutover scheduled for off-peak (3 AM CET typical, lowest FR traffic). Old release stays warm for 72 hours so rollback is one DNS flip.

    Launch night
  5. 05

    Stabilise

    14 days of post-launch coverage in CET business hours. Anything that breaks because of the cutover gets fixed at no extra charge.

    Days 14-28
Tarifs (USD)

Fixed prices in USD, with a euro figure on request

Pay by SEPA transfer, CB card or wire. If the audit turns up extra work, I write a new devis before I start, never a surprise on the invoice.

  • Express

    $ 1,499 USD

    5-7 days · ~€1,400 EUR equivalent

    Best for: CB integration, single-version Magento upgrade, or a one-off fix on a French store

    • Pre-project audit + FR-specific compatibility report
    • Cartes Bancaires (CB) integration or Stripe FR / PayPlug setup
    • Single Magento minor-version upgrade (e.g. 2.4.6 → 2.4.7)
    • RGPD + CNIL cookie banner audit
    • Blue-green deploy + 7 days post-launch coverage
    • EUR-quote-on-request, pay in € or $
    Reserve Express slot
  • Enterprise

    Custom

    4-8 weeks · scoped to your FR + BE / luxury / B2B stack

    Best for: Multi-region FR + BE + LU split, luxury / fashion DTC, or B2B with full Chorus Pro integration

    • Everything in Standard, plus:
    • Multi-region FR + BE + LU split (separate storefronts, shared catalogue)
    • Luxury / fashion bespoke Hyvä build (Paris-grade UX)
    • Full Chorus Pro / Factur-X e-invoicing pipeline
    • ERP / OMS / PIM integration (Cegid, Sage, Microsoft Dynamics, SAP)
    • Adobe Commerce Cloud (Frankfurt) or OVHcloud / Scaleway hosting
    • 30 days post-launch coverage + CET-aligned retainer option
    Get FR Enterprise quote

Prices in USD. Quotes available in EUR / GBP / CHF on request. SEPA / CB / wire transfer accepted. Net-30 available for established French SAS / SARL businesses with valid SIRET.

Réservez votre créneau

Tell me about your French Magento store

Booking takes 2 minutes. I reply with a written devis in USD with the euro amount within 24 business hours.

Message me on WhatsApp

No form to fill. Send me a quick message and I reply within 4 hours on IST working days, often sooner.

Helpful to mention

  • Company
  • Store URL
  • Magento version
  • Région
  • SIRET status
  • Payment methods you use / want

These are already in the message for you. Just add your answers.

Message me on WhatsApp

Or save my number: +91 84012 70422

What clients say

What clients say about working with me

Reviews from clients on Upwork, Clutch and LinkedIn, from France and other countries.

Kishan was very helpful in helping set up my magento site, theme, installing my extensions, and fix any errors.

“Kishan was very helpful in helping set up my magento site, theme, installing my extensions, and fix any errors. He is very trustworthy and I highly recommend hiring

SE

Sarah Ehling

Fantastic person, very knowledgeable, honest and reliable.

“Fantastic person, very knowledgeable, honest and reliable. Sorted out my issue within an hour! I cannot wait for the next project to work with Kishan

SZ

Steve Zed

Thank you for taking care of this job for me.

“Thank you for taking care of this job for me. Job well

MW

Michael Webber

Kishan is very talented in what he does.

“Kishan is very talented in what he does. He helped me troubleshooting and redirecting a website, and also gave me tips on how to handle future issues. Will definitely work with him

OT

Omar Turmen

Oksygen

Kishin is an extremely hard worker with a lot of knowledge about Magento2!

“Kishin is an extremely hard worker with a lot of knowledge about Magento2! I would highly recommend

RW

Rob Wildenborg

Internet services

Kishan works very hard, with a lot of knowledge about Magento 2.

“Kishan works very hard, with a lot of knowledge about Magento 2. He helped us getting our website to a new level. I would highly recommend Kishan and I'm giving Kishan 5 stars without any hesitation and look forward to working with him again on future

K

Kennard

Sporthuis

Other markets I set up stores for

  • United States
  • United Kingdom
  • Canada
  • Australia
  • Germany
  • France
  • Netherlands
  • India
FAQ

Honest answers to the questions every French merchant asks

Comment intégrer Cartes Bancaires (CB) à mon Magento 2 ?

Cartes Bancaires (CB) is the French national card scheme, it co-badges with Visa or Mastercard on virtually every French-issued debit/credit card. Without CB acceptance, ~70% of French cards bounce at checkout because the bank routes domestic transactions through CB by default for lower fees.

To accept CB in Magento 2, you need a PSP that supports the CB scheme natively:

  • Stripe FR, CB enabled by default for FR-region accounts. Easiest route, official Magento module.
  • PayPlug, French PSP, CB-first. Free Magento module.
  • Adyen, CB supported via the unified card form.
  • Worldline / Ingenico (Atos / Sips), legacy bank-direct route, used by big French retailers.
  • Mollie / Lemonway, CB supported.

We configure the PSP, enable CB in the card-network selector, and verify with French test cards (4970 10... BIN ranges issued by BNP / SG / CA).

How does Mondial Relay pickup-point integration work in Magento?

Mondial Relay is the dominant pickup-point carrier in France, ~13,000 points-relais across FR + BE + LU + ES, often preferred over home delivery by French shoppers (cheaper for them, safer than leaving parcels at the door). Standard French e-commerce expectation: Mondial Relay must be in the carrier list.

Magento integration steps:

  1. Install a Mondial Relay Magento 2 module (community modules from Wyomind, Mageplaza, or direct from Mondial Relay’s SDK).
  2. Configure your Mondial Relay merchant code + private key in admin.
  3. Add the pickup-point selector widget to checkout, renders a map + list of nearest points based on the customer’s postcode.
  4. Save the chosen point-relais ID against the sales_order_address as a custom shipping address.
  5. Generate Mondial Relay labels from the Magento order grid; tracking webhooks update sales_shipment.

For Hyvä we ship a custom Alpine.js / Tailwind selector since the legacy modules are jQuery / RequireJS-only.

What’s the difference between RGPD (CNIL) strict guidance vs other EU countries?

RGPD is just France’s name for GDPR, same regulation. The difference is enforcement: the CNIL (Commission Nationale de l’Informatique et des Libertés) is one of the strictest GDPR enforcement bodies in the EU, with multi-million-euro fines against Google, Amazon, Facebook, TikTok, etc.

Concrete differences from a Magento perspective:

  • Cookie consent, CNIL requires granular, per-purpose opt-in. No pre-ticked checkboxes. No “continued browsing = consent”. The “Reject all” button must be as prominent as “Accept all” (CNIL guidance, 2021+ enforced).
  • Cookie wall ban, you cannot block content for users who refuse non-essential cookies (CNIL position, narrower than ICO).
  • Data localisation, CNIL prefers EU-region hosting (Adobe Commerce Cloud Frankfurt, OVHcloud, Scaleway).
  • Loi Informatique et Libertés, the French national law (1978, updated 2018 + 2024) layered on top of RGPD. Adds rules around health data, biometric data, and France-specific DSAR routing.

We ship Cookiebot / Axeptio / Didomi (French-native) wired into Magento’s cookie API, banner copy reviewed against CNIL guidance.

What’s Factur-X / Chorus Pro and when do I need it?

Factur-X is the Franco-German hybrid e-invoice format (PDF/A-3 with embedded XML). Chorus Pro is the French government’s mandatory e-invoicing platform for B2G (business-to-government) transactions, already required since 2017 if you sell to public bodies.

The B2B e-invoicing rollout is phased (deadlines have shifted, current 2024-2026 schedule):

  • From 1 Sept 2026, all French companies must receive electronic invoices.
  • From 1 Sept 2026, large companies (> €50M turnover) must issue e-invoices.
  • From 1 Sept 2027, SMEs and micro-entreprises must issue e-invoices.

Magento integration: order/invoice generation must produce a Factur-X PDF (PDF/A-3 + Factur-X XML) and route through a PDP (Plateforme de Dématérialisation Partenaire), certified intermediaries that talk to Chorus Pro / PPF (Portail Public de Facturation). We integrate with PDPs like Pennylane, Esker, or Sage e-invoicing, Magento → PDP → PPF → recipient’s ERP.

How do I validate SIRET + TVA intracommunautaire in Magento?

Two French B2B identifiers, two different validators:

  • SIRET (Système d’Identification du Répertoire des Etablissements), 14-digit number identifying a specific establishment of a French company. Validated against the SIRENE database (free API from INSEE).
  • TVA intracommunautaire (TVA intracom), format FR + 2 check digits + 9-digit SIREN. Validated via the VIES VAT service (EU-wide).

For Magento B2B we:

  1. Add SIRET + TVA intracom fields to the customer entity (or B2B company if you’re on Adobe Commerce).
  2. Validate SIRET against the SIRENE API on registration, rejects invalid / closed companies, auto-fills company name + address.
  3. Validate TVA intracom against VIES, required for cross-border zero-rated B2B sales (intra-EU).
  4. Apply 0% TVA on B2B intra-EU sales with a valid VIES-validated TVA number (reverse charge); 20% on B2C and FR→FR B2B.
  5. Cache validations 30 days, re-validate on any address change.
Comment configurer la TVA 20% / 10% / 5.5% / 2.1% par catégorie ?

France has four standard TVA rates, applied per category:

  • 20%, standard rate (most goods + services).
  • 10%, reduced (restaurants, transport, some renovations, “non-improving” works).
  • 5.5%, reduced (most food, books, water, energy improvements, female hygiene products since 2016).
  • 2.1%, super-reduced (reimbursable medicines, press publications).

Magento configuration:

  1. Create 4 tax classes in Stores → Tax Zones & Rates (TVA-20, TVA-10, TVA-5.5, TVA-2.1).
  2. Create 4 tax rules per rate, scoped to FR (or EU + auto-detect via destination).
  3. Assign each product’s tax class based on its category, we usually wire this via the category_id → tax_class mapping in a custom CategoryAttribute observer (so admins don’t need to set it per product).
  4. For B2B intra-EU, override to 0% if a valid VIES-validated TVA intracom is on the customer.

Tax-inclusive prices on storefront (mandatory in EU B2C); tax-exclusive on B2B if explicitly opted-in.

Should I use Adobe Commerce Cloud Frankfurt or OVHcloud / Scaleway?

Depends on your volume + budget + data-residency posture:

  • Adobe Commerce Cloud (Frankfurt region), best if you’re already on Adobe Commerce. Auto-scaling, Fastly CDN, 24/7 Adobe support, < 30ms latency to Paris / Lyon. Costs €25k+ /yr, locks you to Adobe. Frankfurt isn’t France, some CNIL-conscious clients prefer FR-based hosting for the optics, even though Frankfurt is GDPR-compliant.
  • OVHcloud, French cloud giant (Roubaix / Strasbourg / Gravelines DCs). Strong on price, French support, sovereign-cloud option for public-sector. Less auto-scaling than Adobe Commerce Cloud; more DevOps work.
  • Scaleway, younger French cloud (Iliad / Free), good for modern stacks, S3-compatible storage, Kubernetes. Great for Hyvä-headless or PWA setups.
  • AWS Paris (eu-west-3), if you want US-grade tooling but FR data residency.
  • Hyvä Cloud / Cloudways Paris, managed Magento, €200-800 /mo, good middle ground for €500k, €5M stores.

We benchmark + migrate, the right answer depends on whether you need FR data residency or just FR low-latency.

Should I migrate to Hyvä for my French luxury store?

Almost certainly yes if you’re on Luma. French luxury / fashion shoppers convert dramatically better on fast mobile experiences, and Paris-based luxury brands compete on UX polish:

  • Lighthouse 95+ on Hyvä vs typically 40-60 on Luma luxury themes, Google ranks fast pages higher for category/PDP queries (huge for luxury SEO where competition is fierce).
  • Hyvä Checkout loads in < 1s, 50% lower bounce vs Magento Luma checkout, especially mobile (which is now > 70% of FR luxury traffic).
  • Cartes Bancaires + Alma BNPL widgets render natively without the React/jQuery double-render Luma has.
  • Mondial Relay pickup-point selector renders instantly, no spinner-on-spinner on the map widget.
  • Image-heavy luxury PDPs use modern <picture> + AVIF / WebP, image weights drop 60-80%.

Typical migration timeline: 4-6 weeks. Conversion lift in the first 90 days post-launch is usually 8-25% from speed alone.

What’s Loi Hamon and how does it affect Magento checkout?

Loi Hamon (2014, Loi n°2014-344 « relative à la consommation ») is the French consumer-protection law that strengthened EU directive rules around distance-selling. Key Magento checkout impacts:

  • 14-day cooling-off period, B2C customers can return goods within 14 days, no reason needed. Standard EU rule but Loi Hamon extended it to digital goods + services.
  • Pre-contractual information, customers must see, before paying, the total price (incl. TVA + shipping), seller identity (RCS / SIRET), delivery date, return policy. Magento’s checkout review step covers this if configured properly.
  • Explicit confirm-button text, the final order button must say « Commande avec obligation de paiement » (or equivalent), not just « Confirmer ». We override the Magento checkout button label in the FR view.
  • Extended insurance / warranty disclosure, if you offer paid extras, Loi Hamon requires unticked-by-default checkboxes (similar to CNIL on cookies).
  • Subscription cancellation, for subscription stores, customers can cancel via the same channel they signed up.

We audit + adjust checkout copy / flow for Loi Hamon compliance on every FR build.

Can I run a single Magento for FR + BE + LU?

Yes, Magento’s multi-store architecture handles FR + BE + LU cleanly because all three share French-language content, EUR currency, and similar (but not identical) tax rules:

  • Single Magento backend, 3 stores, one for FR, one for BE (FR-language), one for LU. Shared catalogue, separate URLs (yourbrand.fr / yourbrand.be / yourbrand.lu) or one domain with country selector.
  • Per-store TVA, FR 20%, BE 21%, LU 17%. Each with its own reduced rates. Magento tax_zone rules per store.
  • Per-store payment methods, FR adds CB + PayPlug + Alma, BE adds Bancontact, LU keeps it lean. Configured per store.
  • Per-store shipping, Mondial Relay for FR + BE, bpost for BE-only, POST Luxembourg for LU.
  • Per-store legal pages, Mentions légales (FR), Conditions générales (BE), Conditions générales (LU). RGPD applies to all three but enforcement is via CNIL (FR), APD/GBA (BE), CNPD (LU).

For Belgian Dutch-speakers (Flanders), you’d add a 4th store with NL-language. Architecture decided in the audit step.

What time-zone overlap can I expect from India?

Real, daily, 4-6 hours of working overlap:

  • India Standard Time = UTC+5:30
  • France = UTC+1 (CET, winter) or UTC+2 (CEST, summer)
  • Overlap window: 12 PM, 6 PM IST = 7:30 AM, 1:30 PM CET (winter) or 8:30 AM, 2:30 PM CEST (summer).

That covers your morning standup, mid-morning review, and lunchtime hand-off. Daily 4 PM CET review on staging is the typical cadence. If you need late-day overlap (post-3 PM CET) we can flex 2-3 days/week. Slack / WhatsApp async covers the rest. We’ve worked this way with Paris, Lyon, Marseille, and Bordeaux clients for years.

How do I migrate from PrestaShop or Shopify to Magento for the French market?

Both are common starting points in France, PrestaShop is French-founded (Paris, 2007) and dominant in the FR €100k, €5M segment, while Shopify wins early-stage DTC. Migration triggers are usually B2B requirements, multi-store needs, or Cartes Bancaires limitations.

  • PrestaShop → Magento, same data shape (products, customers, orders), straightforward CSV / DB-level migration. PrestaShop modules don’t port; we rebuild the FR-specific ones (CB, Mondial Relay, Colissimo) on Magento. Typical timeline 4-8 weeks.
  • Shopify → Magento, export via Shopify Admin API, transform into Magento catalog_product + customer entities. Pay attention to: variants ↔ configurables, Shopify Payments → CB-enabled PSP, app subscriptions cancelled. Typical timeline 6-12 weeks.

For both: 301-redirect every URL to preserve SEO ranking, preserve customer passwords via a one-shot hash-rewrap on first login, and preserve order history by importing as historical orders.