Help & Usage Guide

Quick reference for using Aqualux PLP — the Production Label Printer that syncs Manufacturing Orders, Products, and Repair Orders from Odoo and prints labels via the Azure Label API.

Getting Started

  1. Open Settings and enter your Odoo credentials and Azure Label API endpoint. Click Test Connection to verify Odoo access.
  2. Trigger a first Full Sync from the Manufacturing Orders page (and again from Products if needed). Watch the progress bar at the top of the page.
  3. Once data is loaded, use the row checkboxes and the print toolbar to print labels.
Tip:The Navbar shows live MO and Product counts, the last sync time, and (if enabled) the auto-sync interval.

Syncing Data from Odoo

Aqualux PLP keeps a local copy of MOs and Products so the UI stays fast even when Odoo is slow. There are two sync modes:

  • Sync — incremental. Only pulls records changed since the last successful sync.
  • Full Sync — refetches every record that matches the configured filters. Use after changing filter settings, or when something looks out of date.

While a sync runs, a global progress bar appears at the top of the page and a counter (e.g. 124/350) is shown on the sync button. A toast notification confirms success or surfaces any error.

Note:Product images are downloaded once per record and cached locally — so the first sync of a large catalogue can take a while.
Note:Repair Orders sync separately. They are not included in a general sync or auto-sync — use the dedicated Sync Repair Orders / Full Sync Repair Orders buttons on the Repair Orders page.

Manufacturing Orders Page

The home page (Manufacturing Orders) shows your synced MOs with variant code, description, customer, service tag, and product image.

Filters

  • Has Customer — only MOs with a linked customer.
  • ARX Products — limit to ARX-coded products.
  • AQL Products — limit to AQL-coded products.
  • Exclude SUBKIT — hides SUBKIT lines (on by default).

Sorting & Navigation

  • Click any column header to sort ascending/descending.
  • The MO number is a hyperlink that opens the record in Odoo.

Batch Printing

  1. Tick the checkbox at the start of each row you want to print.
  2. Use the print toolbar at the top of the table to send all selected MOs to the chosen label/printer in one action.

Products Page

The Products page lists synced product variants. Use the category dropdown to filter by Odoo category. Each row shows the variant image and supports per-row label printing.

Repair Orders Page

The Repair Orders page lists repair orders synced from Odoo's separate repair.order model. Each row shows the order name, customer, and scheduled date.

Syncing

Repair orders have their own Sync Repair Orders and Full Sync Repair Orders buttons. This data is not refreshed by a general sync or auto-sync, so use these buttons to pull the latest repair orders.

Searching & Sorting

  • Search by order name or customer using the search box.
  • Click any column header to sort ascending/descending.

Batch Printing

  1. Tick the checkbox on each repair order you want to print.
  2. Select one or more repair_order labels in the print toolbar, optionally set a quantity, then print all selected orders in one action.
Note:Repair order labels only appear here if you have at least one label of type repair_order configured in Settings.

Printing Labels

Labels are sent to your configured Azure Label API endpoint. The set of available print buttons is driven entirely by the Labels configuration in Settings.

  • Label type determines where the button appears: manufacturing_order labels show on the MO page, product labels on the Products page, repair_order labels on the Repair Orders page, and cable labels are produced using the cable label rules.
  • Quantity is populated automatically from the MO / product context.
  • The fields sent in the print payload are controlled by Label Field Mapping in Settings (comma-separated field list per label type).
  • If a mapping includes image, the cached product image is base64-encoded into the payload.
Tip:Turn on Debug Mode in Settings to simulate prints — payloads are logged to the Debug Console without actually hitting the printer.

Free-Form Labels

The Free Form page lets you compose an ad-hoc label payload — useful for one-off labels that aren't tied to an MO or product variant. Pick a label definition, fill in the fields, and print.

Settings Reference

Everything except DATABASE_URL is stored in the database and edited at Settings:

  • Odoo Credentials — URL, Database Name, Username, API Key. On Odoo SH the database name has the format subdomain-main-XXXXXXXX and is required.
  • MO Filters — date cut-off and excluded states (e.g. cancel).
  • Product Filters — comma-separated category names to exclude.
  • Azure Label API — base endpoint and optional bearer key / Cloudflare Access headers.
  • Debug Mode — simulate print calls without sending them.
  • Label Field Mapping — comma-separated field list per label type.
  • Labels — list of labels with name, target printer, type, button text, and order.
  • Cable Label Rules — prefix + segment-index based lookups for cable service-tag labels.

Debug Console

The Debug tab shows a live, rolling in-memory log (the most recent 200 entries) covering sync operations and print attempts. It refreshes every couple of seconds. Use it to inspect outgoing print payloads, sync progress, and errors without tailing server logs.

Troubleshooting

Sync fails with an Odoo authentication error
Re-check the four Odoo credential fields. On Odoo SH the Database Name must be the subdomain-main-XXXXXXXX form, not your subdomain alone. Use Test Connection in Settings to verify.
Products sync returns 0 records
Check the Categories field under Product Filters — it lists categories to exclude. Watch the Debug Console during sync to see which category IDs were resolved.
Print button does nothing / no label comes out
Confirm Debug Mode is off, verify the printer name on the label matches a printer known to your Azure Label API instance, and check the Debug Console for the outbound payload and HTTP status.
A field is missing from the printed label
Update Label Field Mapping in Settings for the relevant label type and ensure the field name is included.
Data looks stale
Run a Full Sync from the MO or Products page.
Need more detail? See the project README for full configuration and deployment documentation.