BlogAnton Ignashev

B2B Portal for Alcohol Distributors — Licence Verification & Excise

B2B Portal for Alcohol Distributors — Licence Verification & Excise

Why Alcohol Wholesale Requires a Different Kind of Portal

Building a B2B portal for a clothing distributor or a hardware wholesaler is a straightforward engineering problem. Alcohol distribution is not. The regulatory framework in Poland around alcohol sales adds a layer of compliance requirements that a standard B2B portal does not address — and ignoring them is not an option when the penalties include licence revocation.

The key regulations that shape what a B2B portal for alcohol wholesale must do:

  • The Polish Alcohol Act (Ustawa o wychowaniu w trzeźwości i przeciwdziałaniu alkoholizmowi): Alcohol can only be sold wholesale to entities holding a valid retail alcohol licence (koncesja). The wholesaler is responsible for verifying this licence is active before each transaction.
  • Excise duty (akcyza): Alcohol is an excise product in Poland. Every sales document must carry the correct excise data — product CN code, alcohol percentage, volume, excise rate category.
  • Age verification: Anyone accessing an alcohol wholesale catalog must confirm they are of legal age.
  • Record-keeping: Transactions in regulated goods require a documented audit trail — who bought what, when, under which licence.

A standard B2B portal handles none of this. A portal built for alcohol wholesale distribution handles all of it by design.

Licence Verification: The Non-Negotiable Feature

Every B2B client account in an alcohol wholesale portal must be linked to a valid alcohol licence. This is not a formality — it is a legal prerequisite for each transaction.

What the portal must track per client

  • Licence number (numer koncesji) — assigned by the issuing municipality
  • Licence type — which categories of alcohol the licence covers (beer and wine only? spirits? all categories?)
  • Issuing authority — which municipality or office issued it
  • Validity period — start date and expiry date
  • Licence document — PDF scan stored in the portal for audit purposes

Automated expiry enforcement

The most important mechanism is automatic blocking. When a client's licence expires:

  1. The portal detects the expiry (daily check against stored expiry dates)
  2. The client's account is automatically set to "blocked — expired licence"
  3. The client can log in and see their order history, but cannot place new orders
  4. The client sees a clear message: "Your licence has expired. Upload your renewed licence to resume ordering."
  5. Your admin receives a notification: "Client X's licence expired on [date]."

This protects you from inadvertently selling to an unlicensed entity. Without this mechanism, you are relying on a human to check a spreadsheet — and humans miss things, especially when processing 80 orders per day.

CEIDG and Municipal Register Integration

For automatic licence verification (beyond just storing the licence details manually), the portal can query:

  • CEIDG (Centralna Ewidencja i Informacja o Działalności Gospodarczej): For sole traders (jednoosobowa działalność gospodarcza), CEIDG is publicly accessible via API. The portal can verify the business is active and retrieve basic registration data.
  • Municipal licence registers: Many Polish municipalities publish their alcohol licence registers publicly. Querying these directly gives you real-time confirmation that a specific licence number is active. The implementation varies by municipality — some have structured APIs, some have only PDF registers that require manual checking.
  • KRS (Krajowy Rejestr Sądowy): For companies (sp. z o.o., SA, etc.), the KRS API confirms the entity is active and not in liquidation.

Practical implementation note: Fully automated licence verification from municipal registers is not always possible — the infrastructure is uneven across Poland. The pragmatic approach is: CEIDG/KRS for business existence verification (fully automatable), manual licence document upload by the client with admin review for licence validity, and automated expiry tracking once the licence is entered.

Excise Data in the Product Catalog

Every product in an alcohol wholesale portal must carry the fields required for excise compliance. This goes beyond product name and price.

Required product fields for excise compliance

Field Example Notes
CN Code (Nomenklatura Scalona) 2208 30 11 8-digit EU commodity code for excise classification
Alcohol percentage 40% Exact % as on the label
Volume 0.7 L Container volume
Excise category Wyroby spirytusowe Beer / wine / sparkling wine / spirits / other fermented
Excise rate 6.275 PLN/litre of pure alcohol Rate for spirits as of 2026
PKWiU code 11.01.10 Polish Statistical Classification of Products

The portal does not calculate excise — that calculation happens in the ERP when the sales document is generated. The portal's job is to carry this data correctly and pass it to the ERP with every order line, so the ERP has everything it needs to generate a compliant document.

Why this matters in practice: If an order arrives in your ERP missing the CN code for a product, the ERP cannot generate the correct excise declaration (AKC-UA/AKC-4/AKC-WW as applicable). That means a manual correction before the document can be issued. At 80 orders per day, missing fields are not a minor inconvenience — they are a daily compliance bottleneck.

Banderole (Excise Stamp) Tracking

For spirits imported from outside the EU, Polish law requires excise banderoles (banderole akcyzowe). If your catalog includes such products, the portal should flag them clearly, and the product record should reference the banderole series.

This is typically handled by adding a "requires banderole" flag to the product record, which the ERP uses to generate the appropriate documentation.

Age Verification Gate

Every Polish B2B alcohol portal requires an age verification confirmation before showing the catalog. This is not optional and should not be implemented as a superficial "click to confirm you are 18" checkbox on the home page.

Implementation that holds up to scrutiny:

  1. The portal presents the age confirmation on first login, before any catalog content is displayed
  2. The user confirms they are of legal age (18+) and that they are acting as a business entity (not a consumer)
  3. The confirmation is logged with timestamp and user account ID
  4. The confirmation does not need to be repeated on every visit — a confirmed account remains confirmed

The age verification is distinct from licence verification. Age verification is a one-time confirmation per account. Licence verification is ongoing — it must be valid at the time of each order.

Licence-Based Product Restrictions

A Polish alcohol retail licence specifies exactly which categories of alcohol the licence holder can sell:

  • Category A: beer
  • Category B: wine and other low-percentage fermented beverages
  • Category C: spirits and all categories

If a client holds only a Category A licence (beer only), they cannot legally purchase spirits from your wholesale portal. A properly configured portal enforces this automatically.

Implementation:

  1. Each client account has a licence type assigned (A, B, C, or combination)
  2. Products in the catalog are tagged with their licence category requirement
  3. Clients with Category A licences cannot see or add Category C products to their cart
  4. Attempting to add a restricted product shows: "This product requires a Category C licence. Your current licence covers Category A only."

This feature is rarely implemented in generic B2B platforms. It requires the portal to understand both the licence type structure and the product classification — two things specific to Polish alcohol regulation.

Minimum Order Rules for Alcohol Distribution

Alcohol distributors in Poland almost universally apply minimum order rules. These are not legal requirements — they are commercial decisions — but they must be enforced consistently. In a portal, they are enforced automatically.

Typical minimum order structures

Minimum order value: Orders below a threshold (commonly 300–600 PLN netto for beer/wine, 500–1,000 PLN for spirits) are not accepted. The cart shows the current value and a clear indicator of how far the client is from the minimum.

Minimum quantity per SKU: For spirits, the minimum is often 6 bottles (a half-case). For beer, a full case (24 cans or bottles). The portal prevents adding quantities below the minimum to the cart, with an error message explaining the rule.

Mixed-case minimums: Some distributors require a minimum total quantity per category (e.g., minimum 1 full palette of beer per order). These are more complex to implement but workable.

Client-specific minimums: Key accounts with high volumes may have lower minimums (or none) as a negotiated benefit. The portal should support per-client minimum overrides configured in the admin panel.

Order and Compliance Logging

Alcohol wholesale transactions require a documented audit trail. The portal must log:

  • Who placed the order: client account, business entity name, NIP
  • Under which licence: licence number and type at time of order placement
  • What was ordered: full product list with quantities, CN codes, and alcohol percentages
  • When: timestamp of order placement and confirmation
  • Order status: confirmation, shipment, invoice generation

This log should be exportable (CSV or PDF) for regulatory audits. In practice, the ERP carries most of this data — but the portal-side log serves as an independent record if the ERP data is ever disputed or if a client claims they did not place a specific order.

Retention requirement: Polish law does not specify a single retention period for alcohol sales records, but tax documentation retention requirements (5 years) and general commercial record-keeping standards suggest a minimum of 5 years for transaction logs.

Seasonal Demand: Planning Ahead with Portal Data

Alcohol wholesale has pronounced seasonality in Poland:

  • New Year's (Sylwester): Demand for spirits peaks in December, particularly mid-December to December 28th
  • Easter: Wine and beer peak the week before Easter
  • Summer season (June–August): Beer, canned cocktails, and low-ABV products peak during outdoor season
  • First Communion season (May): Significant spikes in wine and sparkling wine
  • Back-to-school (September): Usually a slower period, good for promotions

A B2B portal with order history data lets you see exactly what your clients ordered at the same time last year. Two weeks before Sylwester, your portal can show a banner: "Sylwester is coming — reorder from last year's selection." This is a feature of data visibility that phone and WhatsApp ordering simply cannot provide.

One specific implementation worth adding: automatic low-stock alerts for high-demand seasonal products. Configure the portal to notify your admin when stock of a seasonal bestseller drops below a defined threshold during the pre-season window. This lets you trigger a reorder from your supplier before your clients start complaining about unavailability.

How This Differs From a Generic B2B Portal

To make it concrete — here is what a generic B2B portal handles and where it falls short for alcohol wholesale:

Feature Generic B2B Portal Alcohol Wholesale Portal
Product catalog Yes Yes + CN codes, excise data, ABV
Individual pricing Yes Yes + licence-type pricing
Order flow to ERP Yes Yes + compliance fields
Stock visibility Yes Yes
Licence verification No Yes — required
Licence expiry blocking No Yes — automated
Age verification gate No Yes — before catalog access
Licence-based product restrictions No Yes — enforced at cart level
Compliance audit log No Yes — exportable
Minimum orders per licence type No Yes

Building the items in the right column on top of a generic platform requires significant custom development — and the result is fragile because the underlying platform was not designed with these requirements in mind. Starting from a wholesale-specific portal and adding the compliance layer is faster and more maintainable.

What to Ask Before Selecting a Portal Solution

If you are evaluating portal options for your alcohol wholesale business, ask these specific questions:

  1. How does the system handle licence expiry? If the answer is "we store the expiry date and you can filter by it," that is manual management, not automated enforcement.
  2. Does the system block orders when a licence expires? Automatic blocking is the minimum requirement.
  3. Can the system restrict product categories by licence type? This is a differentiating capability — most generic platforms cannot do this without custom development.
  4. How is the compliance log structured and can it be exported? If there is no log, that is a gap.
  5. Does the product catalog support CN codes and excise fields natively? Adding these as custom fields to a generic platform is doable but creates maintenance debt.

If a vendor cannot answer these questions concisely and positively, their platform was not built for regulated goods distribution.

See the wholesale liquor portal page for more on what we build for alcohol distributors, or contact us to discuss your specific compliance requirements.


Let’s talk about your project

Free 30-minute consultation. We’ll figure out if and how I can help.

Book a Free 30-Minute Call

Select a date

April 2026
Mon
Tue
Wed
Thu
Fri
Sat
Sun
Back to Blog

Related Posts

Integrating enova365 with a B2B Portal — Soneta WebAPI in Practice
Blog

Integrating enova365 with a B2B Portal — Soneta WebAPI in Practice

Connecting a B2B portal to enova365 via Soneta WebAPI — JWT auth, dynamic controllers, Harmonogram Zadan, price groups. The architecture that actually works, without the filler.

Read more
B2B Portal ERP Integration — Subiekt GT, Optima, enova365
Blog

B2B Portal ERP Integration — Subiekt GT, Optima, enova365

A practical guide to connecting a B2B wholesale portal with the three most common Polish ERP systems. What each integration actually involves, where things go wrong, and honest timelines.

Read more
Online Ordering System for Wholesalers — Implementation to ROI
Blog

Online Ordering System for Wholesalers — Implementation to ROI

What a modern B2B online ordering system actually includes, how long it takes to implement, and what the ROI looks like — with real numbers from wholesale deployments in Poland.

Read more