Odoo for wholesale:
years of experience in the Belgian distribution sector.
Wholesale is one of the most demanding environments to digitize. Thousands of products, dozens of suppliers with their own price structures, hundreds of customers with specific agreements, a warehouse that processes dozens of orders a day and an accounting department that has to process hundreds of invoices at the same time. Your industry needs an ERP that understands that complexity.
As an Odoo partner, Abstractive has developed an extensive ecosystem of custom modules for Belgian wholesalers and distributors. Not conceived on the drawing board, but grown out of daily confrontations with real problems at companies that process thousands of order lines a week.
Schedule an introductory callWhy Abstractive for your wholesale business?
Abstractive has worked with Belgian wholesalers and distributors for years. We know the daily reality of fluctuating purchase prices, customer-specific agreements and warehouses that have to perform flawlessly under time pressure. That translates into a platform that works as one whole, and into services that cover the entire process, from analysis to aftercare.
A sales process that protects your margins
From the price your buyer negotiates to the invoice at your customer: every step in the chain takes margins, volume discounts and customer-specific agreements into account. The system automatically checks whether your sales team works within the agreed limits, without slowing them down.
Prices that move with the market
When a supplier changes its rates, your entire price structure moves along automatically: customer-specific pricelists, volume discounts and running promotions. Your sales team does not update hundreds of lists by hand, and a forgotten price change does not cost you margin.
A warehouse that thinks in deliveries, not in tasks
Your warehouse staff do not see a list of loose tasks, but a structured daily plan that takes routes, priorities and available capacity into account. From picking to loading: the platform drives the entire process and flags errors before the delivery leaves.
Customers who serve themselves without burdening your inside sales team
Your customers order on their terms: with their own prices, their range and their order history. The platform gives them a professional online channel that connects fully to your back office. Every online order flows through to the warehouse and invoicing, without manual intervention.
Invoicing that runs without anyone thinking about it
Orders are automatically bundled, checked and invoiced according to the agreements per customer. Whether it is split invoicing, pro forma invoices per delivery or consolidated invoices per week: the platform adapts to your customer agreements. Your finance team spends its time on analysis, not on administration.
Continuous communication with your financial partners
Your factoring partner, bank or accountant receives structured data straight from your environment. You generate the files in the format they expect, without compiling them yourself.
Purchasing based on facts, not gut feeling
The platform warns your buyer of impending overstock, flags when a first purchase deserves extra attention and groups receipts so your dock works efficiently. Every purchasing decision rests on current sales and stock data from the same environment.
Built for the reality of Belgian wholesale
The platform speaks your language, literally and figuratively. From excise calculations for beverage wholesalers to project-based deliveries for building materials: it knows the specific rules of your industry. Belgian accounting rules, English-language screens and integrations with Belgian banks are the starting point, not an afterthought.
Our custom modules
Each of the 98 extensions below was built by our own team on top of the standard Odoo platform. Filter by domain or type, or search by keyword.
98 modules
Supplier prices as the foundation of your sales price
In almost every wholesale business, the sales price is derived from the purchase price. Our solution goes a step further and links pricelist calculations directly to supplier prices, so your sales price is always based on the actual purchase price at a specific supplier.
For each product, a primary supplier is designated whose purchase price flows automatically into all pricelist calculations. When that supplier changes its prices, the sales prices move along automatically. The primary supplier is visually marked on the product form, and the sales analysis report gets an extra grouping option per supplier.
Volume pricing across product groups
Many wholesalers use volume prices that apply to an entire product family. A customer orders forty units of product A, thirty-five of product B and thirty of product C, all from the same group, and the volume discount should apply. Our extension makes it possible to calculate volume prices across product groups instead of per individual order line.
Our solution introduces price buckets: named product groups within which the combined order volume is added up. The sales order shows an overview of the total quantity per bucket. With every change, the system detects which buckets are affected and automatically recalculates the prices. Customers always get the correct volume discount, regardless of how their order is spread across individual items.
Global pricelists and company-wide promotions
Wholesalers with dozens or hundreds of customer-specific pricelists know the problem with company-wide campaigns. A seasonal clearance or manufacturer promotion has to be added by hand to each individual pricelist. That does not scale.
A pricelist can be marked as global. Its rules then automatically apply across all other pricelists. With every price calculation, the system compares the price from the customer pricelist with the one from the global list and automatically picks the lowest price. Several global pricelists can be active at the same time, with built-in protection against infinite loops.
Manufacturer's suggested retail price
Many wholesalers that supply retailers work with suggested retail prices. Our solution adds a separate field for the suggested retail price to the product. That price flows automatically to sales orders, invoices and delivery slips. The system automatically calculates the discount percentage relative to the list price.
Markup and display optimization
Our customization makes markup percentages intuitive by automatically switching between a discount field and a markup field based on the value entered. This eliminates input errors and makes price configuration accessible to the whole team.
Pricelist reports automatically show the internal reference of products. Customers recognize products by their item number, not by the full product name. Reports with packaging prices show the price per package next to the unit price, so customers can immediately read off the correct order unit.
Real-time margin insight per price list
The product form shows the current margin per price list. Product managers see at a glance whether the sales price for a given customer group is profitable, without opening the price list separately. When purchase prices change, it is immediately visible which price lists need adjusting.
Restricted price access
Not every employee needs access to pricing information. A separate access right, the Price Manager group, determines who can view and edit purchase prices, vendor prices and price lists. Sales staff without this right keep working on their orders as usual, but do not see sensitive cost structures.
Barcode scanning on the sales order
In a busy wholesale environment, sales orders are put together while a customer waits at the counter or while an employee walks through the warehouse. Our solution integrates barcode scanning directly into the sales order form. As soon as a product is scanned, it is added as an order line. Both product barcodes and packaging barcodes are recognized. When a product is scanned again, the system automatically increases the quantity instead of creating a duplicate line.
Multi-layer margin monitoring system
In companies with a large assortment and fluctuating purchase prices, it is impossible to check the margin manually on every quote. A minimum sales margin threshold can be set per product. As soon as a salesperson creates an order where the margin drops below that minimum, a prominent warning banner appears, showing the current margin next to the required minimum margin for each problem product.
In addition, a variant based on the virtual margin, calculated from expected or normalized costs, gives a more reliable picture when purchase prices fluctuate strongly. Both warning systems are cumulative and can be combined.
Markup alongside margin
Many wholesalers work internally with markup rather than margin: the profit as a percentage of the purchase price. Our parallel markup calculation is available at both order line and order level and in pivot and graph views, which makes aggregated analyses based on markup percentages possible.
Detection of abnormally high prices
The opposite of margins that are too low is a price far above the norm: a typo of 1,000 euros instead of 100 euros. When a sales order is confirmed, the system compares each order line with a reference price and warns when the deviation exceeds a configurable threshold. The salesperson can still confirm, but is forced to consciously accept the deviation.
Segregation of duties at order confirmation
In many wholesale companies, not every salesperson may confirm orders independently. An inside sales employee prepares the quote, the commercial manager gives the final approval. The confirm button is invisible to users without the right permission, and a server-side check blocks every attempt to confirm through alternative routes.
Maximum discount per user
Alongside segregation of duties, we offer control over discount authority. A maximum discount percentage is set per user. As soon as a salesperson enters a discount above their ceiling, the system blocks the action. This prevents counter staff or junior salespeople from granting overly generous discounts.
Hiding discounts on documents
Customers with a net price agreement do not expect a visible discount column on their documents. A per-customer setting hides the discount column on quotes, sales orders and invoices. The customer only sees the agreed net prices.
Visual detection of inconsistent discounts
When a price list prescribes a discount percentage but the discount on the order line differs, because of a manual change or a price list update, the system highlights those lines visually. The salesperson sees at a glance which lines no longer match the active price agreements and can recalculate the discount with one click.
Weight calculation at order level
The weight of a sales order plays a crucial role in logistics planning. Which vehicle is needed? Does everything fit on one pallet? The weight is calculated automatically at order line level and the total weight appears in the shipping section of the order form. Every change to products or quantities triggers a real-time recalculation.
Delivery date to be determined
For orders whose delivery date is not yet fixed, such as a contractor ordering material for a future project, the delivery date can be marked as "to be determined" with a free-text note. That status flows automatically to all linked stock moves and delivery slips. Behind the scenes, Odoo's planning logic stays intact through a technical placeholder date.
Blocking deliveries when payments are outstanding
Customers with a prepayment term may only receive goods once the payment has been received. Per payment term, you can set deliveries to be blocked automatically as long as no payment has been registered. This applies to both the regular delivery flow and the pro forma workflow.
Pro forma invoice per delivery
By default, Odoo generates pro forma invoices based on the complete sales order. With partial deliveries, the pro forma then shows the total order amount while the customer only receives part of it. Our solution links pro forma invoices to individual deliveries with the exact quantities being shipped. Each picking goes through the statuses: pending, to ship, shipped and paid. The delivery is automatically blocked until the pro forma is marked as paid.
Parent-child relationships between sales orders
Some wholesalers work with a main order from which several sub-orders originate, think of a framework contract with weekly deliveries. Our module explicitly records a parent-child relationship between sales orders. From the parent order you navigate directly to all delivery orders and back. This structures the order overview without employees having to search through loose notes.
Exclusive products per user group
Certain products may only be sold by specific salespeople or teams, think of private labels, exclusive lines or products with limited distribution. Through a link between product groups and user groups, you determine exactly who may place which products on sales orders. Products outside a user's authority do not appear in the search results.
Product restriction per order type
Sales order types can be linked to product categories. An order type for "hospitality" then only shows hospitality products, while an order type for "retail" only offers retail items. This prevents confusion and speeds up order entry.
Customer account overview on the sales order
When preparing a quote, salespeople want to see at a glance how a customer is doing financially. A direct link to the customer account overview, the partner ledger, is available straight from the sales order. Without leaving the order, the salesperson has insight into outstanding invoices and payment history.
Manual purchasing from sales
For a make-to-order item or a project-bound delivery, the salesperson sometimes wants to place a purchase order with a specific vendor right away. From the sales order line, a purchase order can be created manually, taking over the product, quantity and expected prices. The link between sales and purchasing is kept automatically for traceability.
Stable cost price on order lines
Our module freezes the cost price at the moment the order is confirmed, so the price no longer fluctuates with later changes to the product cost. The original margin calculation stays intact, even if the purchase price changes weeks later. This is essential for correct margin analyses afterwards.
Automatic sections on sales orders
Long sales orders become clearer when products are grouped by category under section headers. Our module automatically adds sections based on the product category, so an order with fifty lines gets a logical structure without the salesperson having to insert headers manually.
Cross-sell per product variant
On quotes you show recommended add-on products, tailored to the specific variant the customer orders. When a product is added, a suggestion list with relevant optional products appears automatically. This increases the average order value without extra effort from the salesperson.
Daily logistics planning
Without a bundled overview, a logistics planner has to open each transfer separately to see what is scheduled for that day. Our wizard generates a complete daily report in a few clicks. After selecting the desired date, warehouses and operation types, a compact PDF is generated automatically, sorted by city and operation type. For each transfer, the report shows the document number, customer details, the total weight and the full product list.
Delivery photos as proof
Deliveries regularly lead to disputes about the condition of the delivered goods or the correct delivery address. Through an upload wizard, drivers or warehouse staff can add photos directly from the delivery slip or the barcode app. The photos are compressed automatically and appear both digitally and on the printed delivery document.
Date synchronization between warehouse and sales
Warehouse staff regularly adjust the schedule based on actual availability. Our solution synchronizes the scheduled date of the picking back to the sales order automatically, so sales and warehouse always work from the same schedule. After confirmation, the date field on the sales order is locked, so only the warehouse can adjust the schedule.
Batch picking and safety checks
Validating a batch picking in the barcode app is an irreversible action. A warehouse employee working quickly with a scanner can activate the validate button by accident. Our confirmation wizard asks for explicit approval in both the barcode app and the backend form before a batch is processed definitively.
Central print management
In busy warehouses, hundreds of documents are printed every day: shipping labels, pick lists, delivery slips and invoices. Our printer queue bundles all print jobs in a clear dashboard. Each document automatically enters the queue with a reference to the source document and the preferred printer. Real-time notifications make sure new print jobs are picked up immediately. A print log records who printed which document and when.
Flexible packaging per parcel
Wholesalers often ship orders in several parcels with varying contents. Our module offers an intuitive wizard with which warehouse staff assign products and quantities per parcel. Each package can be given a weight, dimensions and a link to a carrier. The packaging overview appears on the delivery slip.
Bypassing stock reservation
In certain situations, such as a customer buying directly at the counter or an urgent delivery, the standard reservation step is an unnecessary delay. Per warehouse operation, you can set the reservation step to be skipped. Products are then considered available immediately.
Extra completed step for deliveries
For quality-sensitive shipments, it is useful to add an extra processing step after the standard validation. Our module adds a "completed" status to outgoing deliveries, so there is an explicit confirmation after the goods have physically left the warehouse.
Blocking on archived products
Archived products that are still on open transfers can cause unexpected errors during processing. Our module automatically blocks the validation of transfers that contain archived products, with a clear error message so the warehouse team can intervene quickly.
Expected products during inventory counts
When performing an inventory count through the barcode app, the system by default only shows scanned products. Our extension also shows the products expected at the selected location, so employees quickly detect differences between expected and actual stock.
Help with unknown barcodes
When a warehouse employee scans a barcode the system does not recognize, our module helps identify the product. Instead of just an error message, a search interface appears with which the employee can still link the product to the unknown barcode.
Source location for returns
Our module automatically shows the destination location of the original delivery as the suggested source location when creating a return.
Sections carried over to delivery slips
Sales orders with automatic sections lose that structure as soon as they flow through to the warehouse. Our module makes sure the sections on the sales order are carried over to the delivery slip, so warehouse staff see the same logical grouping as the sales team.
Automatic pallet splitting
When receiving large quantities, products often have to be spread over several pallet locations. The system automatically splits incoming transfers based on the maximum capacity per pallet location. Each pallet is automatically routed to the right location based on the putaway rules.
Replenishment workflow via the barcode app
Warehouse staff who notice that a pick location is running empty can create a replenishment move directly from the barcode app. A scan form lets them quickly record the source and destination location, the product and the quantity. After confirmation, an internal transfer is created automatically and processed through the standard warehouse flows.
Stock check before adjustment
Manual stock adjustments are only allowed after a visual check. A mandatory checkbox confirms that the employee has physically checked the actual stock. Without that confirmation, the system blocks the adjustment.
Separate right for inventory confirmation
The authority to definitively confirm inventory adjustments is decoupled from the standard warehouse rights. A separate access right makes sure only authorized employees can validate the final count. This prevents warehouse staff from accidentally applying large stock corrections.
Vendor names on receipts
When receiving goods, it is useful to see the vendor name and the vendor's item reference directly on the receipt. Our module shows this information automatically based on the linked purchase order, so warehouse staff can quickly check whether the right products were delivered.
Fixed recipient for shortages
When a delivery contains fewer products than expected, someone has to be informed. Per warehouse operation type, a fixed recipient can be set who automatically receives a notification for every delivery with a shortage. This centralizes the handling of complaints and reorders.
Self-registration for new B2B customers
We offer a separate B2B registration form where business customers create an account themselves with company details, VAT number and full address. On submission, a company record is created automatically, the user is linked to it and a default B2B price list is assigned. The whole registration flow runs in a database transaction that is fully rolled back on errors.
Portal access for existing customers
For existing customers who do not yet have portal access, we offer a request form on the login page. The system automatically matches the e-mail address and VAT number with an existing contact record. On a successful match, portal access is granted immediately, including an invitation e-mail. Requests without a match are logged so the internal team can take action.
Advanced filter system
We developed a fully independent filter system, designed specifically for properties that do not drive a variant: material, field of application or certification. The system works with filter groups, checkboxes, dropdowns and color swatches. On the webshop, the filters appear in the sidebar with dynamic counts per filter value.
Product aspects as filterable attributes
In addition to the separate filter system, we offer product aspects: structured attributes that are shown directly on the product page and also serve as filter criteria. Think of "material", "application" or "capacity". Customers filter the range on relevant properties and find the details again on the product detail page.
Role-based product management
Marketing staff who update product photos get access only to webshop fields through a separate user group: images, categories, publication status and SEO fields. A configurable field list lets you define exactly which fields are editable.
Quick order page
B2B customers do not want to browse catalogs. They know their item numbers and want to reorder quickly. Our quick order page offers a list view in which customers enter item codes and quantities directly. The products are recognized by item number or barcode and added to the cart in one go.
Minimum order amount
To prevent small, unprofitable orders, a minimum order amount can be set. Customers who stay below the minimum are informed at checkout about the remaining amount. The threshold is configurable per customer segment.
Fixed addresses at checkout
B2B customers often have several fixed delivery and invoice addresses. Our module limits the choice to a fixed list of approved addresses, so customers only select from validated options. Customers select their delivery and invoice address from a dropdown, without the option to edit them manually.
Brand name and item code in the webshop
The brand name and the internal item code are shown automatically on product pages and in search results. B2B customers identify products by these details and find what they are looking for faster.
Carrier icons next to shipping methods
At checkout, recognizable icons appear next to each shipping method. Customers choose the desired carrier faster when they recognize the logo visually instead of only a text name.
Multi-website product linking
Wholesalers that manage several webshops, for example one per country or per customer segment, can link products to several websites at once. Product managers select per product on which websites it should be published, without duplicating the product.
Dynamic category access
Certain product categories may only be visible to specific customer groups. Our module links webshop categories to customer tags. Customers without the right tag do not see those categories and products in the webshop. This makes it possible to present different ranges to different customer segments within a single webshop.
Rounding correction on discounts
When discounts are applied to large orders with many lines, rounding differences can arise between the webshop and the ERP. Our module corrects these rounding deviations automatically, so the amount in the cart always matches exactly the amount on the final invoice.
Automated invoice sending
Sending each invoice separately by email through the standard wizard is time-consuming and blocks the browser. Our sending queue lets users select invoices in bulk and add them to the queue. A background process handles a batch every five minutes with the standard sending logic. The module remembers which user added an invoice and sends the email in that user's context for the correct sender name and signature.
Automatic invoicing of sales orders
Every day, dozens to hundreds of orders are confirmed that need to be invoiced periodically. Employees mark orders as ready for invoicing, individually or in bulk. Every minute, a scheduled task processes the queue, from old to new, grouped by invoicing address so customers receive one bundled draft invoice instead of separate invoices. The batch size is configurable.
Split invoicing
Customers with several payment terms, for example thirty percent on order and seventy percent on delivery, expect their invoicing to follow that structure. Our module splits invoices automatically based on the payment terms on the sales order. Each partial invoice contains the correct amounts and terms.
Automated invoice import via SFTP
Many wholesalers receive supplier invoices in XML format via SFTP servers. Server details and the accounting journal are set per connection. An automated task fetches new XML files every hour and lets the standard invoice recognition do the rest. Processed files are renamed on the server, failed files get a separate prefix.
Extra default values for emailed invoices
Supplier invoices that arrive by email and are recognized automatically sometimes lack context information. Our module fills in default values automatically, such as the correct journal, the analytic account or the payment term, based on configurable rules. This reduces the manual follow-up after automatic invoice recognition.
Factoring integration with Belgian banks
Many Belgian wholesalers use factoring to optimize their cash flow. From a filtered overview, the user selects open customer invoice lines on factoring accounts. For Belfius, three files are generated with one click: an open items file, a readable control overview and a debtor file. For BNP Paribas Fortis, two CSV files are produced. All files are converted automatically to ASCII with transliteration of special characters and are ready for upload right away.
Comment field on invoices
A free comment field below the invoice lines offers room for agreements, references or instructions that do not fit in a standard line. The comment appears on the printed document and can be filled in per invoice.
Exact description on invoice lines
Our module guarantees that the original description on an invoice line is preserved and respects the description entered on the sales order, so customer-specific references and agreements remain intact on the invoice.
Tax display per group
The way tax amounts are shown differs per customer and per context. Our module offers three display modes: normal (all taxes visible), separate (each tax group on its own line) and hidden (no tax details). The desired mode can be set per document.
Delivery information on the invoice
Customers want to see directly on their invoice which deliveries it covers. Our module automatically adds the delivery references and dates to the invoice report, so customers can reconcile the invoice with their receipts.
Grouped payment reminders
When payment reminders are sent, open invoices are grouped automatically per company or per contact person. Customers receive a single overview of all their open items instead of separate reminders per invoice.
Overstock warnings
When buyers order more than needed, this leads to unnecessary tied-up capital and higher storage costs. When a purchase order is confirmed, the system compares the virtually available stock, the ordered quantity and the maximum stock quantity from the reordering rule. If the maximum is exceeded, a popup appears with all affected products. Two extra columns on the purchase order lines permanently show the virtually available stock and the maximum quantity.
Weight calculation on purchase orders
As with sales orders, the total weight is calculated automatically at purchase order level. This is essential for transport planning: does the order fit on a pallet, in a van, or is a truck needed?
Group receipts per supplier
When several purchase orders from the same supplier are expected on the same day, it is more efficient to group the receipts into a single receipt. Our module offers the option to merge receipts per supplier, automatically or manually.
Purchase order without prices
Not every employee who creates a purchase order needs to see the prices, think of a warehouse manager who places a reorder. A print option without price information shows only products and quantities.
Warning for new products
When a product is purchased for the first time, a warning appears on the purchase order. This alerts the buyer to the fact that no purchase history is available, so extra care is taken in price negotiation and supplier selection.
Purchase agreements from sales
Salespeople who place an order for a product with several possible suppliers can request a purchase agreement from the sales order line. The system links the sales need to the purchase request so the purchasing department can negotiate in a targeted way.
Central brand register
We introduced a complete brand management system with name, display name and description. Each brand is linked to products through a field on the product form. The brand name is included automatically in the display name. The standard sales and invoicing analyses are extended with a brand dimension, and in the product list you search and group by brand.
Automatic product references
In companies with a large range, assigning references manually quickly becomes a source of errors. Our system generates a unique, sequential product code at the push of a button, based on a configurable sequence. Optionally, the generated reference is also set as the barcode.
Multiple barcodes
Products in wholesale often have both a manufacturer's EAN code and an internal barcode. The standard barcode app only recognizes the primary barcode. Our extension makes sure that secondary barcodes are also recognized correctly when scanning in the warehouse, including GS1 nomenclature.
Sales performance labels
Insight into which products perform well and which lag behind is essential for assortment decisions. Our solution labels products automatically based on their sales performance through configurable quantile ranges. You define labels such as "Top 10%", "Average" and "Weak sellers". A weekly background task recalculates all assignments based on a configurable lookback period. Products without sales automatically get a separate label, which quickly identifies dead stock.
Content field and brand link
Products with a fixed content size, such as 75 cl bottles or boxes of 12 units, get a structured content field. Combined with the brand link, product cards are automatically enriched with the correct unit information.
Multilingual product documents
Wholesalers that operate internationally or are active in multilingual Belgium need to offer product documents in the right language. Our module links documents and attachments to language versions, so every customer automatically receives the documentation in their own language.
Warning for duplicate supplier codes
When two different products carry the same supplier code, this leads to mix-ups at ordering and receipt. Our module gives a warning when a supplier code is already linked to another product, so the error is corrected before it causes problems.
Description on product attributes
Product attributes such as size, color and material can be given an extended description that is included automatically on sales order lines. Customers see not only "Color: Blue" but also the related specifications.
Excise duties, packaging levies and deposits
The sales price of a beverage contains, in addition to the net product price, excise duties, packaging levies and deposits at several levels: bottle and crate. Discounts do not apply to these levies. Our system introduces four tax types that each behave differently in calculations and on documents. The packaging levy is calculated automatically according to the legal rates, deposits separately at bottle and crate level.
Customer-specific document display
Per customer, you can set which columns are visible on quotes and invoices: price without levies, net price after discount and discount column can each be hidden or shown separately. On pricelist items, the price without levies can be entered directly, after which the system calculates the full sales price. The customer portal respects the same visibility settings.
Commission management
In beverage wholesale, companies work with commission customers: partners who receive a percentage on sales that come about through them. Our system converts discounts automatically into commission percentages. The customer pays the full price; the commission amount is calculated separately and shown visibly per order line. In the webshop, commission customers see the regular sales price.
Through a periodic wizard, all commission lines per customer and per date period are collected and converted in one click into a purchase order or credit sales order, grouped per product with automatic application of the correct VAT rates.
Returnable packaging management
Crates and bottles form a substantial part of logistics in the beverage sector. Our returnable packaging system manages the complete flow of outgoing and returned empties. The returnable packaging type is recorded per product: bottle, crate or case, with the corresponding deposit value. When a crate of beer is sold, the corresponding returnable packaging items are created automatically.
Delivery reminders
A fixed delivery day is set per customer. The day before, the system automatically sends a personalized email reminder in the customer's language, with a direct link to the webshop. The reminders are both sent by email and logged in the chatter of the contact record.
Category summaries on documents
An average sales order can contain twenty to fifty lines. Our module adds an automatic category summary to sales orders, invoices and delivery slips. Per category, the table shows the unit, the total quantity and the corresponding amount. A setting on product categories determines at which level the summary is shown.
Sales orders and purchase orders without price information
For both sales orders and purchase orders, we offer a print option without price data: ideal as a picking list for the warehouse or as a delivery slip for drivers. The document follows the same professional layout as the standard report, but all price-related columns and totals are hidden automatically.
Prices on delivery slips
Conversely, we offer the option to add prices to delivery slips. Visibility is controlled at three levels: per customer through a preference setting, per picking type through a block, and per carrier for carriers who may not see price information.
Full product descriptions on delivery slips
Delivery slips show the full product description, including specifications, packaging units and customer-specific references, instead of only the product name. This prevents picking errors and unclear delivery slips.
Custom reports without code
The visual report designer lets users build fully customized PDF reports through a structured tree view. Content blocks, tables, images and dynamic placeholders are configured without a single line of code. Conditional visibility through Python expressions lets a single template serve multiple scenarios. The generated report is registered as a standard print action and is directly available on every record.
PDF quotes with additional field mappings
The standard quote PDF in Odoo shows a fixed set of fields. Our module extends the available field mappings so that non-standard fields, such as project references, internal notes or customer-specific codes, also appear automatically on the quote document.
Restrict price access
Purchase prices, supplier prices and pricelists are sensitive business information. The Price Manager group determines who can view and edit this data. Warehouse staff and customer service staff work with the system without insight into the cost structure.
Segregation of duties in the warehouse
The authority to confirm inventory adjustments, correct stock manually or validate batch pickings is restricted per role. Warehouse staff carry out their daily tasks, but critical actions are reserved for team leaders or logistics managers.
Exclusive product access
Products that may only be sold by certain teams or salespeople are restricted through user groups. A salesperson who does not belong to the right group cannot find the product in the search results and cannot add it to a sales order.
What you can expect from us
- Extensive ecosystem of custom modules, developed specifically for the wholesale sector
- Actively used by Belgian wholesalers in beverages, building materials, food and industrial distribution
- Full coverage of the wholesale process: sales, purchasing, warehouse, invoicing, webshop and reporting
- Integration with Belgian financial institutions including Belfius and BNP Paribas Fortis for factoring
- Industry-specific modules for excise duty calculation, packaging levies and deposit systems
- All modules available in Dutch (BE) with full translations of labels, notifications and reports
- Ongoing development and maintenance based on real needs from the Belgian market
Ready to talk?
Together we look at where Odoo gains your wholesale business time and margin. Schedule a no-obligation introductory call, online or at your premises, or call us at +32 53 89 50 21.
Schedule an introductory callAbstractive · Kerkstraat 74, 1790 Affligem · +32 53 89 50 21 · [email protected]