Quality Hold is an operator for the gap between a failed lab result and the stock it condemns. It reads inspection results from a Tulip Table, walks lot genealogy in Katana or Plex to find every downstream lot, and finds where each one sits: Katana batch stock, Fishbowl Advanced tracking items, Odoo lot records, or Plex containers.
It then proposes one hold list: the lots, their locations, the jobs still consuming them, and the sales orders about to ship them. You approve the list, and each transfer to quarantine or job hold is applied once with a receipt. Disposition stays with your quality team.
This is a reference listing. It documents what Fibric would read from Quality Hold and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.
Inputs
Lab and inspection results as rows in a Tulip Table, filtered by _updatedAt, with the lot or batch number each row refers to
Lot genealogy from Katana manufacturing order production ingredients, whose traceability entries name the batch_id and quantity consumed
Batch stock in Katana through GET /batch_stocks: batch_number, expiration_date, quantity_in_stock, and location
Containers, lots, and locations from Plex through the Inventory Operations Management API, and the jobs that consumed them
Inventory by part and location, including tracking items, from Fishbowl Advanced through GET /api/parts/inventory
Lot records in Odoo, read with search_read from the model behind Inventory, Products, Lots/Serial Numbers
Orders that would carry an affected lot out of the building: Katana sales_order.packed events and Plex customer shippers
Proposed actions
Target capability: propose a hold on the failed lot and every downstream lot its genealogy reaches, as one list you approve before anything is written
Target capability: propose a Katana stock transfer of the held batches to a quarantine location through the stock transfer endpoints
Target capability: propose holding a Plex job that consumes or produces an affected lot through POST /scheduling/v1/jobs/{id}/hold, and releasing it later
Target capability: propose a Fishbowl Advanced inventory move of the affected tracking items to a hold location, or a scrap once disposition is decided
Target capability: propose a write on the Odoo lot record, such as a property that marks it on hold
Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.
What you can build
Stop a failed batch in Katana before it packs
A fail row lands in the Tulip results table. The operator walks Katana production ingredients to every batch made from it, proposes a stock transfer of each to quarantine, and lists the open sales orders that would have shipped them.
When the lot under test is feeding a Plex job, the operator proposes holding the job through the Job Scheduling API and lists the containers already produced from it, so a person can decide before the shipper is scheduled.
Results keyed by lot are matched to Fishbowl tracking items by location. The operator proposes an inventory move of each to your hold location and leaves the scrap decision for later.
Odoo lot records are read with search_read. The operator proposes a write that sets the hold property on the lot and its downstream lots, for approval, and lists where each is on hand.
A source of lab or inspection results with a lot or batch number on each row: a Tulip Table, or a table your MES exposes
An inventory or ERP connector whose stock is tracked by lot or batch: Katana, Fishbowl Advanced, Odoo with Lots & Serial Numbers enabled, or Plex
A genealogy source that records which input batches went into which output: Katana production ingredients or Plex job records
A quarantine location, or a hold status, that already exists in the inventory system
Authentication
Results, genealogy, and stock are read and holds are proposed through the credentials each bound connector holds; the operator itself has no login to any of them.
Limits
Genealogy reaches only as far as the records go. Unbatched stock, which Katana returns with batch_id null, cannot be traced and is listed as unknown
Plex and Fishbowl Advanced document no webhooks, so a result or a shipment is seen on the next poll, not the instant it posts
It proposes the hold; it does not judge the result. A row marked fail in the results table is taken as fail
Release from hold is a separate proposal a person approves; the operator never lifts a hold it proposed
Access and pricing
Reference listing. Fibric builds the operator under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.
The hold list: the failed lot, each downstream lot with the genealogy path that links it, where each sits, and the orders that would carry it out. You approve the list whole, remove lots from it, or dismiss it. Each transfer, job hold, or record write is then applied once.
What is kept on file?
The result row that started it, the genealogy walked, the lots held and where they were moved, who approved it and when, and the reversal for each write. A release later is its own receipt that points back to the hold.
Can it ship, scrap, or release a lot on its own?
No. It proposes holds and moves to quarantine. Scrap, release, and rework are proposed only after a person records the disposition, and every one of them waits for approval. It never edits the lab result.
Ask about Quality Hold
Ask about the capabilities and requirements in this listing.
This operator is developed, published, and supported by Fibric. Third-party names and logos identify the systems an integration connects to; they are the property of their respective owners, who are not affiliated with Fibric and do not sponsor or endorse this listing. Trademark policy