Billing & Invoicing

7 Charge Types. Captured Automatically.

Storage, handling, VAS and returns are captured from ledger events and priced from each customer's active contract. AED · SAR · QAR · KWD · BHD · OMR.

Wareflux billing and documents in a 3PL warehouse

Seven charge types, all sourced from the ledger.

Every charge is derived automatically from warehouse events — no manual input, no reconciliation work at period end.

Storage
High-watermark pallet count × rate per pallet-day. Charged on the peak stock level in the billing period.
Immutable ledger
Inbound handling
Per LPN received (GRN issued). Split-child LPNs excluded; only the parent counts at intake.
GRN events
Outbound handling
Per distinct dispatched LPN for each GIN issued in the billing period.
GIN events
Cycle Count
Per unique bin on closed counts touching the customer's products. Only completed counts charge.
Closed Counts

Quarantine
Per LPN per day on hold; period-clipped to billing window. Stops accruing on release or disposal.
Quarantine records
VAS
Per unit confirmed. Applies per-service-type rate; falls back to generic VasRate if no specific rate is set.
Vas event records
Returns handling
Per return line received. Triggered on RMA creation and processed through the standard receiving workflow.
RMA records
Invoice management

Draft to paid, every step recorded.

No invoice is ever deleted. Cancellations and corrections create new negative-amount records, so the originals are kept permanently.

  • Core Guarentee Append-only, no deletions
  • Correction VIA Credit notes only
  1. Draft

    Editable

    Charges are added from ledger events and rate cards are applied automatically. The invoice stays editable until it is issued.

  2. Issued

    Locked

    Sub-total, Vat-Rate-Pct, Vat-amount and total-amount are stored at issue time and never re-calculated.

  3. Paid

    Closed

    The payment date is recorded and the invoice is closed. It is pushed to Odoo through the outbox in the same transaction.

  4. Cancelled

    Credit Note

    A new negative-amount invoice is created as the credit note. The original stays preserved and auditable.

  • Contract Lifecycle

    Only the active contract is editable. Historical contracts stay locked with their start and end dates.

  • VAT Support

    VAT figures are stored at issue time and never rebuilt from current rates.

  • Multi-Currency

    AED, SAR, QAR, KWD, BHD or OMR, set per customer contract with no conversion.

  • Auto-Push

    Written atomically with the invoice, with automatic backoff retries if sync fails.

Every document bilingual. Every label scannable.

7 document types — generated as bilingual PDFs, with QR code, timestamp, and tenant branding — in English and Arabic side by side.

7 Document Types

Each one is created automatically by a warehouse event.

  • GRN

    Goods Receiving Note

    Created whenLines fully received

  • GIN

    Goods Issue Note

    Created whenVehicle departure confirmed

  • INV

    Tax Invoice

    Created whenBilling period closed

  • LPN

    LPN Labels (ZPL/PDF)

    Created whenAt receiving and on demand

  • PCK

    Pick List

    Created whenOrder allocation committed

  • TLY

    Tally Sheet

    Created whenLoading confirmation complete

  • CCT

    Cycle Count Sheet

    Created whenCycle count created


Printing & Scanning

Every document and label is built for the physical workflow: browser-native printing, two barcode formats and instant lookup by scan.

  • Network Printing

    ZPL labels go to any network printer straight from the browser, with no driver to install. A live connection test reports latency and errors.

  • QR & Code 128

    Both barcode formats are generated for every LPN and document. Camera, Bluetooth and keyboard-wedge scanners all work, with audio and vibration feedback.

  • Document Lookup

    Search a printed GRN or GIN number to open its digital record instantly, from any device.

Built for the warehouse floor.

A purpose-built Blazor WASM app designed for scan-driven workflows on gloved hands — not a scaled-down desktop.

Guided Workflows Step-by-step receiving, put-away, wave picking, and loading — each step requiring a barcode scan before advancing. No skip-ahead.
44 px Touch Targets Every interactive element meets the 44×44 CSS pixel minimum — usable with warehouse gloves. No hover-only interactions. Audio + vibration on every scan result.
Offline-Capable Last-loaded task list cached for field use when connectivity drops. Syncs automatically on reconnect — no data lost between sessions.
Location Insights Scan a bin barcode to instantly see contents and full LPN transaction history. Shared Location Detail Drawer with the desktop Warehouse Map.
SignalR Live Updates Task lists and bin states update in real time via SignalR — no refresh needed. Supervisors see floor activity as it happens from the Operations Console.

Bilingual from the ground up. Not bolted on.

RTL layout and Arabic support were designed into Wareflux from day one — every screen, label, error message, and PDF in both languages simultaneously.

Full RTL layout CSS logical properties throughout — inset-inline-end, padding-inline — never mirrored as an afterthought.
One-click language toggle Single click in the topbar switches all three interfaces between English and Arabic instantly, no reload.
Bilingual entity names NameEn + NameAr on every master record: products, warehouses, zones, customers, sites.
Bilingual documents English and Arabic columns side-by-side on all 7 PDF types. Noto Sans Arabic for correct glyph rendering.
AED SAR QAR KWD BHD OMR
Arabic · عربي English
إيصال البضائعGoods Receiving Note
الكميّة المتاحةAvailable Quantity
مستودع الحجر الصحيQuarantine Area
تأكيد الشحنDispatch Confirmed
الجرد الدوريCycle Count
فاتورة ضريبيةTax Invoice
خدمات القيمة المضافةValue-Added Services