PMIS Catering
Catering slots, delivery points, and shared trip credits for PMISuite.
Features
Slot-based catering menus and website pages listing products assigned to each slot.
Delivery points created per slot, delivery code, and company for opted-in orders.
Shared trip credit vouchers with expiry automation.
Apply credits on posted customer invoices by creating and posting a credit note, reconciling receivable lines, and marking the consumed vouchers as used.
Website slot pages and slot-aware cart grouping.
Slot-aware stock moves and pickings, with optional project tasks per slot.
Configuration
The module depends on base, mail, sale, sale_stock, stock, website_sale, account, and project.
In Settings > Catering, set the company's shared trip credit expiry days (default 90, zero allowed) and discount product. The product is required when applying credits; its accounting and tax configuration affects the credit note.
As a Catering Manager, use the Catering menu to define menu services, menu slots, slot lines, and delivery codes with shipping partners.
Assign Catering Manager for master-data and voucher creation access. Catering Operator can read master data, read/write delivery points and vouchers, and use the credit wizard, but cannot create vouchers. Both roles still need the relevant Sales, Accounting, and Project permissions.
Optional task creation requires sale_project to be installed separately. Confirmation creates tasks only for slot-bearing service-product lines.
Usage
Orders and Vouchers
Create menu slots and assign product variants through their menu lines.
On a sale order, assign the slot on each relevant order line. Set the order's delivery code and enable shared trip discount opt-in, then confirm the order. Confirmation links or creates a delivery point for each slot/code/company combination only when the code and opt-in are both present.
As a Catering Manager, open Catering > Delivery Points, enter the internal trip cost, and click Mark Done & Create Vouchers. Eligible participants are confirmed, opted-in linked orders with the same delivery code. The cost is divided per order using currency rounding; any rounding remainder is assigned to the first participant. Zero cost marks the point done without creating vouchers. Negative cost, no eligible orders, or existing vouchers on an open point block this action.
Open a posted customer invoice with a positive residual and available credits. Click Apply Catering Credits, enter a positive amount no greater than the residual or available credit, and apply it.
Credits belong to the customer's commercial partner. Automatic voucher selection uses available, unexpired vouchers in the invoice's company and currency, oldest earned first. Partial use splits a voucher and retains the unused balance with its original expiry. Applying credits posts a customer credit note, reconciles unreconciled receivable lines, and records the invoice, credit note, and usage date on consumed vouchers. Normal accounting configuration and permissions are required.
The daily Expire Catering Vouchers scheduled action marks available vouchers expired when their expiry date is before today. Vouchers remain eligible on their expiry date.
Website and Deliveries
Visit /catering/slots to list open slots for the current website's company, restricted to that website or slots with no website specified. A slot detail page lists its assigned products and submits the slot with add-to-cart requests. Cart lines for the same product are kept separate by slot and displayed in slot groups.
Slot-bearing sale lines pass their slot and start time into procurement. Stock moves carry the slot and use it when assigning pickings, separating deliveries for different slots.
Known Limitations
Order Cutoff is stored but does not block ordering. Website pages require an open slot, but the addon does not validate slot state, cutoff, or product membership on every cart or backend order-line write.
Delivery codes store a shipping partner; selecting a code does not automatically replace the sale order's shipping address.
Voucher creation is a manual delivery-point action, not an automatic result of completing a stock delivery.
The discount product's taxes may make the posted credit-note total differ from the amount entered in the wizard. Review that product's accounting setup.
Bug Tracker
Bugs are tracked on PMISuite Repository Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.
Credits
Contributors
Matjaž Mozetič
Maintainers
Current maintainer:
Luxim is an independent R&D and deployment company focused on solving complex problems in the Odoo ecosystem.
Luxim is an active member of OCA (Odoo Community Association).






