Developer documentation
This section is for Odoo developers and integrators who connect another system to the Rx Tracking modules, extend them with their
own module, or check how they work (for example for a validation or an audit). It assumes you know Odoo 18 development: models,
views, access rights, odoo-bin and the external API. How to use the modules is in the user guides.
The modules
Six modules, all for the Odoo 18.0 series. The core is the only one you always install; the others add to it.
| Module | Edition | Adds |
|---|---|---|
aglow_rx_tracking: Rx Tracking (DSCSA), the core | Community or Enterprise | the serial ledger, DSCSA documents, the trading-partner and serial checks, supplier EPCIS import, returns, quarantine, trace requests, retention |
aglow_rx_tracking_3pl: Rx Tracking (DSCSA): 3PL and title model | Community or Enterprise | stock held for owners, documents in the owner's name, title transfers, the owner portal |
aglow_rx_tracking_barcode: Rx Tracking (DSCSA) - Barcode | Enterprise | DataMatrix scanning into the ledger in the Barcode app |
aglow_rx_tracking_quality: Rx Tracking (DSCSA) - Suspect Product Investigations | Enterprise | suspect-product investigations and Form FDA 3911 in the Quality app |
aglow_rx_tracking_3pl_barcode: Rx Tracking (DSCSA): 3PL Barcode bridge | Enterprise | owner-aware scanning in the Barcode app |
aglow_rx_tracking_3pl_quality: Rx Tracking (DSCSA): 3PL Quality bridge | Enterprise | investigations per owner |
- The core depends on Odoo's Inventory, Purchase, Sales engine, Invoicing and Portal modules, and on no Enterprise module, so the core and the 3PL add-on run on Odoo Community.
- The 3PL add-on depends on the core; the Barcode add-on on the core and Odoo's Barcode app; the Suspect Product add-on on the core and Odoo's Quality app.
- Each bridge depends on the 3PL add-on and one Enterprise add-on, and installs automatically once both are installed.
The exact Odoo modules each one depends on, and its version, are in the generated technical reference. Which modules to install for which business: Editions and modules.
Every rule the modules add applies only to products marked as DSCSA products (is_dscsa_product). Other products (over-the-counter
drugs, devices, supplies) behave exactly as in standard Odoo.
What is documented, and what is internal
| Part | Status | Where |
|---|---|---|
| Models, fields (name, type, label, help), choice values | documented | Technical reference, Statuses |
| Groups, access rights, record rules | documented | Security |
| Settings | documented | Settings fields, All settings |
| Scheduled jobs, sequences, email templates, activity types, reports, server actions | documented | Data records |
| Web routes of the portals | documented | Routes |
| Public methods (names without a leading underscore): the buttons and the calls the external API can make | documented | Technical reference, External API |
| The extension points: methods and data keys meant to be overridden or extended | documented, each with a contract test | Extending the modules |
| The file formats the modules write and read | documented | File formats |
| Every other method whose name starts with an underscore, the context keys the modules pass between their own methods, module constants | internal | not documented |
Internal parts are how the modules work today. They are not listed anywhere, and a new version can change or remove them without a note. Build on the documented parts only; if you need something that is internal, treat your code as tied to one module version and test it again at every update.
Versions
A module version has the form 18.0.x.y.z: 18.0 is the Odoo series it runs on, and x.y.z is the module's own version within
that series. The versions of today's modules are in the technical reference, their
history in the changelog, and the documented series on Versions.
The data model, the public methods and the extension points documented here may change from one version to the next. The changes are listed in the changelog, and the known issues of each version in the release notes.
In this section
- ArchitectureThe package ledger, the frozen documents and their hash chain, where the checks run, and the 3PL switch.
- Extending the modulesThe rules for your own module, and the thirteen documented extension points.
- External APIConnect over XML-RPC or JSON-RPC and ten tested recipes.
- File formatsThe EPCIS files, the T3 report and the CSV exports.
- TestingRun the modules' test suites and add your own tests.
- UpgradingModule versions, database updates and what changes after the 18.0 series.
- Technical referenceEvery model, field, access right, data record and route, generated from the modules.