Marketplace Integrations for Allegro
Selling on Allegro next to your own shop usually means one catalogue kept in two places and a spreadsheet holding them together. The offers, the stock and the orders can live in the same admin as everything else instead.
A second shop nobody meant to run
Nobody decides to keep two catalogues. It happens by accretion: an offer goes up in the seller panel, a price changes in the shop and not on the marketplace, somebody starts a spreadsheet so the two can be compared, and a quarter later that spreadsheet is the only place where both worlds are visible at once.
The difficulty is not that Allegro is hard to use. It is that the marketplace and the shop describe the same products under different identifiers, at prices maintained separately, against a stock number both of them believe they own. Every one of those disagreements is either caught by a person or discovered by a customer.
medusa-allegro is built to retire the spreadsheet. Offers, their stock and the orders they produce are read into the same Medusa admin as the rest of the catalogue, which is also where the conflicts show up.
Matching offers to products, and admitting when it fails
Every Allegro offer carries an external id, the sygnatura, set by the seller. Discovery matches that value against Medusa variant SKUs and stops there. Where a sygnatura matches nothing, or matches something ambiguous, the outcome is a recorded conflict rather than a plausible-looking assumption.
The refusal to guess is the point. A wrong match is not a cosmetic problem: it writes a stock number onto a live offer and books revenue against the wrong product, and both of those are discovered late.
Listing stays where it belongs. The plugin creates no offers and ends none. It reads what is already there.
Three ways to handle price, all of them bounded
Monitor mode writes nothing. It reports how many offers currently sit outside their floor and ceiling, which is frequently the first honest look a seller gets at their own marketplace pricing.
The default mode attaches one price automation command per offer, with the floor and ceiling as the rule's price range, so Allegro's own automation does the moving and does it inside limits you set. The third mode compares the Medusa price against the same bounds and refuses to push anything below the floor or above the ceiling.
What all three share is that the bounds are computed rather than felt. The floor is the gross cost divided by one minus the commission rate, so it lands exactly where net income reaches zero. The ceiling is the SRP. Everything the integration is allowed to do with price happens between those two numbers.
One order, three different people
This is the detail that decides whether the invoice is correct, and it is invisible until it goes wrong. An Allegro checkout form can carry up to three separate identities: the account holder's registration data, which a seller never sees in their own Allegro interface; the delivery recipient the buyer typed in, who might be a colleague, a relative or a parcel locker; and the invoice recipient, which can legitimately name a third party again, such as a company paying for something delivered to somebody else.
Collapsing those three into one is how the wrong name reaches a VAT invoice. The delivery address becomes the shipping address in Medusa and the invoice address becomes the billing address, with the shipping address as the fallback when no invoice address was given, because the person who ordered is not necessarily the person being billed. The tax id is read from the structured company identifiers, taking the PL_NIP entry, with the older flat field kept as a fallback because Allegro still populates it.
Totals and line prices arrive as Allegro calculated them and are never recomputed, and imported orders carry no computed tax lines. What the marketplace charged is what the order says it charged.
Off by default, on by decision
Every writer ships disabled on a fresh install. Nothing touches a live offer because a package was added to a config file, and any writer can be forced off through an environment variable, which is what you want on a staging copy that happens to be pointed at a real account.
Once the read side has proven itself, the writers go on one at a time: stock reconciles every 15 minutes through Allegro's quantity change command, orders drain from the order events endpoint every 20 seconds, and fulfilment status write-back and invoice PDF attachment follow when you are ready for them.
It is one of the plugins we develop in the open, listed alongside the rest at our Medusa plugins, which means you can read exactly what it does before it does anything.
What you get
Your seller account connected, not borrowed
An OAuth 2.0 authorization code flow against your own Allegro account, with a CSRF-protected callback, refresh tokens that rotate, and every token encrypted with AES-256-GCM before it touches the database.
Offer to variant matching you can audit
Each offer's external id, the sygnatura, is matched to a Medusa variant SKU. Anything that does not match cleanly is recorded as a conflict for a person to settle rather than resolved by a guess.
Price bounds instead of blind pushes
A floor and a ceiling per offer, plus three modes to act on them: report only, hand the range to Allegro's own price automation, or push a checked price that is refused outside the range.
Stock reconciled on a schedule
The available quantity in Medusa is reconciled to the offer through Allegro's quantity change command every 15 minutes, so the marketplace stops selling what the warehouse no longer has.
Orders drained into the same order list
Allegro's order events endpoint is read every 20 seconds. Totals and line prices arrive exactly as Allegro calculated them and are never recomputed, and imported orders carry no computed tax lines.
Write-back where it earns its place
Fulfilment status write-back and invoice PDF attachment are supported, each switched on separately once the read side has been trusted for a while.
How we work
- 01
Connect the account and confirm the scopes
The integration runs against your own Allegro application and your own seller account. First step is proving the connection works and that the token storage and refresh behave the way they should before any data matters.
- 02
Match the catalogue with nothing writing
Discovery runs and produces two things: the offers that map cleanly to a variant SKU, and the ones that do not. The second list is the real work, and it is worth finishing before anything is allowed to write.
- 03
Start pricing in report-only mode
Monitor mode writes nothing and tells you how many offers currently sit outside their floor and ceiling. That number is usually the most interesting output of the whole project, and it costs nothing to look at.
- 04
Turn writers on one at a time
Stock first, then orders, then status write-back. Every writer ships off, so switching them on is a deliberate act, and each one can be forced back off through an environment variable without a deploy.
- 05
Work the conflicts, not the dashboard
Unmatched offers and unmatched order lines are the ongoing signal. They tend to point at catalogue gaps rather than integration faults, and clearing them is what keeps the two systems honest with each other.
Tools and technology
Where a solid open-source tool exists, we choose it over a closed one. No lock-in to a single vendor, and costs you can actually predict.
- Medusa v2
- Allegro API
- OAuth 2.0
- TypeScript
- Node.js
- PostgreSQL
- Redis
- Next.js
- medusa-allegro
- medusa-admin-kit
Frequently asked questions
More services in this category
Headless Commerce Builds on Medusa
An off-the-shelf commerce platform hands you its data model, its checkout rules and its release schedule. Medusa v2 is a framework you run yourself, so the parts of your business that do not fit a template get built rather than worked around.
Pricing Automation Across Currencies
Foreign currency prices that recalculate themselves every day from the Narodowy Bank Polski rate, and a purchase cost sitting next to every product, so margin is a number in the admin rather than something rebuilt in a spreadsheet at month end.
Invoicing and KSeF Compliance for Online Stores
Invoicing is the part of a shop where a plausible guess is worse than no answer at all. The pipeline issues what is clearly issuable, files what the law says must be filed, and hands everything else to a human with the reason attached.
Read testimonials from companies that trusted us
Delivered well ahead of the deadline.
ZanReal's individual approach is impressive.
Knowledge and business intuition make them a valuable partner.
Quick solutions that reduced costs by 99%.
Latest
Technical guides, security insights, and what we've learned building with AI.
Keeping the marketplace in sync by hand?
Message usTell us how your Allegro offers map to your catalogue today and where the two of them disagree. We will look at the matching, the price bounds and what should be allowed to write back.
Can't keep up with changes in AI world?
Let us do the heavy lifting. Every week we distill the most important AI developments into a focused 5-minute briefing - so you stay ahead without the noise.
Find out more
