Skip to Content

Allegro Orders Sync for WooCommerce — Documentation

Allegro Orders Sync for WooCommerce — Documentation

What this plugin does

Allegro Orders Sync for WooCommerce connects one Allegro seller account to WooCommerce. It imports Allegro checkout forms as native WooCommerce orders every 15 minutes, keeps their status in step with Allegro, uploads tracking and marks orders SENT when you ship, cancels on Allegro when you cancel, and pushes WooCommerce stock to your Allegro offers every hour.

Everything happens in the background on Action Scheduler (or WP-Cron if Action Scheduler is unavailable). Nothing runs until you have connected an account and ticked Enable syncing.

Requirements

  • WordPress 5.8 or later and PHP 7.4 or later
  • WooCommerce 7.0 or later (tested up to 9.9), HPOS or legacy order storage
  • An Allegro seller account and an app registered at apps.developer.allegro.pl
  • An HTTPS site, so Allegro can redirect back after authorisation

Installation

  1. In WordPress go to Plugins → Add New → Upload Plugin, choose the zip, install and activate. WooCommerce must be active first.
  2. Open WooCommerce → Allegro Sync. The screen has three tabs: Settings, Sync log and Status.

Connecting your Allegro account

  1. Sign in at apps.developer.allegro.pl with your seller account and register a new application.
  2. Choose the application type that signs in through a web browser (authorisation-code flow).
  3. Grant it the order read/write and offer management scopes.
  4. Copy the redirect URI shown in the Getting connected box on the plugin’s Settings tab and paste it into the app. It looks like https://yourstore.com/wp-admin/admin-post.php?action=rau_aos_action&do=callback.
  5. Paste the app’s Client ID and Client Secret into the plugin and click Save.
  6. Click Connect Allegro account, sign in on Allegro and approve access. You return to the settings screen and Connected as shows your seller login.
  7. Press Test connection, then tick Enable syncing and save.

To try the flow safely first, tick Sandbox and use credentials from an app registered on Allegro’s sandbox with a sandbox seller account. Sandbox and production are separate environments, so switching requires reconnecting.

Allegro Orders Sync settings screen with Getting connected steps, Client ID, Client Secret, Sandbox and Enable syncing fields
WooCommerce → Allegro Sync. The Getting connected box shows the exact redirect URI to paste into your Allegro app.

Settings reference

SettingWhat it does
Client ID / Client SecretCredentials of your Allegro app. The secret is stored encrypted; leave the masked value untouched to keep the saved one.
SandboxUse Allegro’s sandbox API instead of production.
Connected asRead-only. The Allegro seller login the plugin is authorised for.
Enable syncingMaster switch for all scheduled jobs. Untick to pause without losing settings.
ImportImport Allegro orders every 15 minutes.
Import orders with statusWhich checkout forms to import — normally Ready for processing (paid). Other options: Bought (awaiting payment), Filled in, Cancelled.
Status for imported ordersThe WooCommerce status new Allegro orders get, usually Processing.
Mark sent on Allegro when status becomesWhen an order reaches this WooCommerce status (usually Completed), tracking is uploaded and the order set to SENT.
Default carrierCarrier used when the order has none set. It can be overridden per order.
Cancel on Allegro when status becomesCancelling in WooCommerce with this status cancels the order on Allegro, provided it has not been sent.
Look back (days)How far back each sync looks for orders. The free version allows up to 30 days.
Stock syncPush WooCommerce stock to your Allegro offers every hour.

Buttons on the settings screen

ButtonWhat it does
Connect Allegro accountStarts the OAuth authorisation on Allegro. Appears once the Client ID and Secret are saved.
Test connectionMakes a harmless API call and reports the result in the log.
Sync orders nowRuns an order import immediately instead of waiting for the schedule.
Push stock nowSends current stock to Allegro immediately.
Rebuild offer mapWalks your Allegro offers and records every offer with a seller signature — needed before stock sync can match products.
Clear offer mapForgets the recorded offers. Rebuild afterwards.
Refresh tokenForces an access-token refresh. Normally automatic.
DisconnectRemoves the stored tokens. Orders already imported are not touched.

How orders are imported

Every 15 minutes the plugin asks Allegro for checkout forms with your chosen status, updated within the look-back window. Each one becomes a WooCommerce order with its line items, delivery cost, buyer login, delivery address and — when the buyer entered one — the invoice address as billing address.

Products are matched by the offer’s seller signature, which should equal your WooCommerce SKU. A line with no match is still imported as a placeholder line item and the order gets a warning note, so nothing disappears silently.

Imports are keyed on the Allegro checkout-form ID. Running a sync twice never duplicates an order; it updates the existing one when Allegro’s status changes. Orders where the buyer requested a VAT invoice get a note on import and a warning in the log.

Sending tracking and marking orders SENT

Each imported order has an Allegro panel on the order edit screen, showing the Allegro order ID, buyer login, fulfilment status and whether the order has been marked sent. Below that you can set the carrier, a carrier name when the carrier is “Other”, and the tracking number.

When the order reaches the status set in Mark sent on Allegro when status becomes, the plugin uploads the tracking number as a shipment and then sets the fulfilment status to SENT. If you already record tracking with a shipment-tracking plugin, that number is used and popular carriers are mapped to Allegro carrier IDs automatically.

Cancelling the order in WooCommerce (before it is sent) cancels it on Allegro.

WooCommerce order edit screen showing the Allegro panel with order ID, buyer, SENT fulfilment status, InPost carrier and tracking number
An imported Allegro order in WooCommerce. The Allegro panel shows the checkout-form ID, buyer login and fulfilment status, with the carrier and tracking number that were sent back.

Stock sync

Allegro addresses stock per offer, so the plugin first needs to know which offer belongs to which SKU. Press Rebuild offer map once after connecting; it records every offer that has a seller signature. After that, stock is pushed hourly for every mapped offer.

Out-of-stock products push zero. Products that do not manage stock push a large placeholder quantity, which you can change with the rau_aos_unmanaged_stock_value filter, and a safety buffer can be held back with rau_aos_stock_buffer.

The sync log and Status tab

The Sync log tab lists every import, update, shipment, stock push and error, newest first, with filters for Success, Info, Warnings and Errors. Entries about a specific order link straight to it, and errors carry the raw API detail so you can see what Allegro actually said. Entries are kept for seven days.

The Status tab shows the environment, whether the app is configured and the account authorised, the seller, token expiry, mapped offers, last and next order sync, orders imported this month, errors in the last 24 hours and whether Action Scheduler or WP-Cron is running the jobs.

Allegro Orders Sync log listing imported orders, an invoice request warning, marked sent and stock sync entries
The sync log: connection, offer-map rebuild, imports, an invoice-request warning and the SENT update, each linked to its order.

What the free version includes

  • Up to 150 imported orders per month
  • One Allegro account
  • 15-minute order sync and hourly stock sync
  • 30-day order look-back
  • 7-day log retention
  • Whole-order shipments (one tracking number per order)

Troubleshooting

What you seeWhat to do
The Connect button returns an error from AllegroThe redirect URI in your Allegro app must match the one on the Settings tab exactly, including https and the query string.
Stock sync says no offers are mappedPress Rebuild offer map. If the map stays empty, your offers have no seller signature — add one on each offer that equals the WooCommerce SKU.
Orders import with placeholder linesThe seller signature on that Allegro offer does not match any WooCommerce SKU. Fix the signature or SKU; future orders will match.
Nothing importsCheck that Enable syncing and Import are ticked, the status filter is Ready for processing, and the Status tab shows a next scheduled run. Then press Sync orders now and read the log.
Token errors after a long pausePress Refresh token. If Allegro has revoked the grant, Disconnect and connect again.
The monthly limit was reachedThe free version stops importing after 150 orders in a calendar month and logs a warning. Imports resume on the 1st.

For developers: hooks

Every hook below is part of the plugin’s public surface and safe to use from a theme’s functions.php or a small site plugin.

HookTypeUse it to
rau_aos_order_importedactionRun your own code after an Allegro order is created. Receives the WC_Order and the raw Allegro checkout form.
rau_aos_stock_bufferfilterHold back a safety quantity per product. Receives 0 and the WC_Product.
rau_aos_unmanaged_stock_valuefilterQuantity to send for products that don’t manage stock (default 999).
rau_aos_stock_rowsfilterAdjust or remove rows just before stock is pushed.
rau_aos_loadedactionFires once the plugin has booted.
// Keep 2 units back on Allegro for every product.
add_filter( 'rau_aos_stock_buffer', function ( $buffer, $product ) {
	return 2;
}, 10, 2 );

Uninstalling

Deleting the plugin removes its settings, tokens, offer map, monthly counters and log table. Orders already imported stay in WooCommerce — they are ordinary orders.

Questions people ask

What exactly does “mark sent” do?

It uploads the tracking number as a shipment (when there is one) and then sets the order’s fulfilment status to SENT. Depending on your Allegro settings, uploading tracking alone may already move the order; doing both is safe either way.

Can I import unpaid orders?

Yes — set Import orders with status to Bought. Most sellers import only Ready for processing, which are paid.