Skip to main content

Technical reference

Generated from the installed modules of the 18.0 series: every model, field, access right, record rule, setting, data record and web route the Rx Tracking modules declare. It is rebuilt with each release; the developer overview says what is supported and what is internal.

Modules​

ModuleNameVersionDepends onInstalls automatically
aglow_rx_trackingRx Tracking (DSCSA)18.0.0.2.0account, account_add_gln, barcodes_gs1_nomenclature, mail, payment, portal, product_expiry, purchase_stock, sale_stock, stockno
aglow_rx_tracking_barcodeRx Tracking (DSCSA) - Barcode18.0.1.0.0aglow_rx_tracking, stock_barcode, stock_barcode_product_expiryno
aglow_rx_tracking_qualityRx Tracking (DSCSA) - Suspect Product Investigations18.0.1.0.0aglow_rx_tracking, quality_controlno
aglow_rx_tracking_3plRx Tracking (DSCSA): 3PL and title model18.0.1.0.0aglow_rx_trackingno
aglow_rx_tracking_3pl_barcodeRx Tracking (DSCSA): 3PL Barcode bridge18.0.1.0.0aglow_rx_tracking_3pl, aglow_rx_tracking_barcodeyes
aglow_rx_tracking_3pl_qualityRx Tracking (DSCSA): 3PL Quality bridge18.0.1.0.0aglow_rx_tracking_3pl, aglow_rx_tracking_qualityyes

Models​

The models the modules declare, by module. Wizards (transient models) are listed separately.

Rx Tracking (DSCSA)​

ModelDescriptionKindFields
dscsa.archive.jobDSCSA S3 Archive Jobstored24
dscsa.discrepancyDSCSA Receiving Discrepancystored41
dscsa.documentDSCSA Transaction Documentstored50
dscsa.document.historyDSCSA Transaction History Hopstored23
dscsa.document.lineDSCSA Document Linestored7
dscsa.epcis.importSupplier EPCIS Filestored45
dscsa.ledger.checkDSCSA Ledger vs Stockstored8
dscsa.licenseTrading Partner Licensestored19
dscsa.packageDSCSA Packagestored37
dscsa.retention.exportDSCSA Retention Exportstored15
dscsa.trace.requestDSCSA Trace Requeststored34
report.aglow_rx_tracking.report_dscsa_t3DSCSA T3 Reportabstract0

Rx Tracking (DSCSA): 3PL and title model​

ModelDescriptionKindFields
dscsa.facility.eventDSCSA Facility Event (FDA Report Update)stored13
dscsa.fda.reportDSCSA FDA Annual Report (Facility)stored13
dscsa.gate.logDSCSA Gate Log (3PL)stored12
dscsa.jurisdictionDSCSA Jurisdiction (3PL Licensing)stored10
dscsa.ledger.owner.checkDSCSA Ledger vs Stock per Ownerstored9
dscsa.owner.exportDSCSA Owner Records Export (3PL)stored18
dscsa.owner.holdDSCSA Owner Hold (3PL)stored17
dscsa.owner.instructionDSCSA Owner Instructionstored13
dscsa.owner.noticeDSCSA Owner Notice (3PL)stored16
dscsa.owner.orderDSCSA Owner Order (3PL)stored19
dscsa.owner.order.lineDSCSA Owner Order Linestored11
dscsa.owner.profileDSCSA Owner Profile (3PL Client)stored41
dscsa.owner.report.mixinDSCSA Owner Report (3PL)abstract1
dscsa.title.transferDSCSA Title Transfer (in place)stored35
dscsa.title.transfer.lineDSCSA Title Transfer Linestored8

Odoo models we extend​

ModelDescriptionExtended byFields added
product.templateProductaglow_rx_tracking9
purchase.orderPurchase Orderaglow_rx_tracking, aglow_rx_tracking_3pl3
quality.alertQuality Alertaglow_rx_tracking_quality, aglow_rx_tracking_3pl_quality41
res.companyCompaniesaglow_rx_tracking, aglow_rx_tracking_quality, aglow_rx_tracking_3pl29
res.partnerContactaglow_rx_tracking, aglow_rx_tracking_3pl10
stock.locationInventory Locationsaglow_rx_tracking1
stock.lotLot/Serialaglow_rx_tracking, aglow_rx_tracking_quality, aglow_rx_tracking_3pl, aglow_rx_tracking_3pl_quality12
stock.moveStock Moveaglow_rx_tracking, aglow_rx_tracking_3pl6
stock.move.lineProduct Moves (Stock Move Line)aglow_rx_tracking, aglow_rx_tracking_3pl2
stock.pickingTransferaglow_rx_tracking, aglow_rx_tracking_barcode, aglow_rx_tracking_3pl, aglow_rx_tracking_3pl_barcode31
stock.quantQuantsaglow_rx_tracking, aglow_rx_tracking_3pl3
stock.return.picking.lineReturn Picking Lineaglow_rx_tracking4
stock.scrapScrapaglow_rx_tracking, aglow_rx_tracking_3pl5
stock.warehouseWarehouseaglow_rx_tracking, aglow_rx_tracking_3pl3

Odoo models whose behaviour the modules extend without adding fields:

ModelDescriptionExtended byMethods
barcode.nomenclatureBarcode Nomenclatureaglow_rx_tracking_barcodeparse_gs1_rule_pattern
ir.actions.reportReport Actionaglow_rx_trackingretrieve_attachment
ir.attachmentAttachmentaglow_rx_tracking, aglow_rx_tracking_3plwrite
payment.transactionPayment Transactionaglow_rx_trackingcreate
product.productProduct Variantaglow_rx_tracking, aglow_rx_tracking_barcode, aglow_rx_tracking_3plname_search, write
sale.orderSales Orderaglow_rx_trackingaction_confirm

Wizards​

WizardDescriptionModule
dscsa.client.list.wizardDSCSA Client List per Facilityaglow_rx_tracking_3pl
dscsa.document.publish.wizardPublish an Owner's DSCSA Document to the Buyeraglow_rx_tracking_3pl
dscsa.epcis.import.wizardImport Supplier EPCIS Fileaglow_rx_tracking
dscsa.inventory.serials.lineDSCSA Serials of a Counted Quantityaglow_rx_tracking
dscsa.inventory.serials.wizardDSCSA Serials of an Inventory Adjustmentaglow_rx_tracking
dscsa.legal.hold.wizardDSCSA Legal Holdaglow_rx_tracking
dscsa.lot.quarantine.owner.lineOwner Release Instruction (Release Window)aglow_rx_tracking_3pl
dscsa.lot.quarantine.wizardQuarantine or Release DSCSA Lotsaglow_rx_tracking
dscsa.opening.balance.wizardDSCSA Opening Balanceaglow_rx_tracking
dscsa.owner.data.wizardOwner Receipt: Supplier Data or Owner Confirmationaglow_rx_tracking_3pl
dscsa.owner.hold.releaseRelease Owner Holdaglow_rx_tracking_3pl
dscsa.owner.portal.accessDSCSA Owner Portal Accessaglow_rx_tracking_3pl
dscsa.owner.portal.access.lineDSCSA Owner Portal Access: one contactaglow_rx_tracking_3pl
dscsa.owner.report.csvDSCSA Owner Report CSV (3PL)aglow_rx_tracking_3pl
dscsa.recall.consigneesRecall Consignees (3PL Owner)aglow_rx_tracking_3pl
dscsa.recall.consignees.lineRecall Consignee (3PL Owner)aglow_rx_tracking_3pl
dscsa.record.ts.wizardRecord Transaction Statementaglow_rx_tracking
dscsa.scan.wizardScan DSCSA Serialsaglow_rx_tracking
dscsa.send.owner.documentsSend DSCSA Documents to the Owneraglow_rx_tracking_3pl
dscsa.title.import.wizardTitle Transfer: Owner's File or Seller's Statementaglow_rx_tracking_3pl
dscsa.title.select.serialsDSCSA Title Transfer: Select Serialsaglow_rx_tracking_3pl

Extension points​

The supported override points. Everything else (other methods whose name starts with _, context keys, module constants) is internal and may change. Each point has a contract test in the modules' test suites that proves its default and an override.

PointWhereWhat it doesSinceContract tests
The party a document names as usdscsa.document._dscsa_own_party()Returns the partner a DSCSA document names as us: the seller of an outbound document, the buyer of an inbound one. Default: the company's partner.18.0.0.2.0TestExtensionSeams.test_c1_own_party_is_company_partner
TestExtensionSeams.test_c1_seam_names_us_everywhere
The owner of a returned unitdscsa.package._dscsa_unit_owner()Returns the owner of a unit that a customer return verifies or rejects; the return moves are grouped by it and carry it as their owner. Default: no owner.18.0.0.2.0TestExtensionSeamReturns.test_c4_unit_owner_empty
TestExtensionSeamReturns.test_c4_seam_groups_and_owns_the_moves
The parties a supplier EPCIS file is checked againstdscsa.epcis.import._dscsa_expected_parties(picking)Returns the seller and buyer a supplier EPCIS file must name for a receipt, as {"seller": (GLNs, name), "buyer": (GLNs, name)}. Default: the vendor's GLNs and the company's GLNs.18.0.0.2.0TestExtensionSeams.test_c5_expected_parties_default
TestExtensionSeams.test_c5_seam_sets_the_checked_parties
The document fields a portal user may readdscsa.document._dscsa_portal_readable_fields()Returns the set of DSCSA document fields a portal user may read. Default: the core's fixed list.18.0.0.2.0TestExtensionSeams.test_c7b_portal_fields_default
TestExtensionSeams.test_c7b_seam_sets_the_portal_fields
Optional input keys of the EPCIS writeraglow_rx_tracking.tools.epcis_writer.build_shipping_epcis(data)
keys: sbdh_sender, extra_sources, extra_destinations, commission_location
Optional input keys of the outbound EPCIS writer: another SBDH sender, extra source and destination parties, and a commissioning location for restated events. Without them the output is byte-identical to the writer's default.18.0.0.2.0TestExtensionSeamsEpcis.test_c8_absent_keys_byte_identical
TestExtensionSeamsEpcis.test_c8_keys_written
TestExtensionSeamsEpcis.test_c8_keys_validated
What the opening balance counts as room for new packagesdscsa.package._dscsa_room_quant_domain(product, lot)
dscsa.package._dscsa_room_package_domain(product, lot)
Return the domains of the stock and of the packages counted when the opening balance checks that there is room for new packages of a product and lot. Default: all the company's stock of that product and lot.18.0.0.2.0TestExtensionSeams.test_c9_room_domains_default
TestExtensionSeams.test_c9_seam_sets_what_is_counted
Possessing parties read from a supplier EPCIS fileaglow_rx_tracking.tools.epcis_reader.parse_epcis(data)
keys: ship_from_possessor_gln, ship_to_possessor_gln
Output keys of the EPCIS reader: each shipment also carries the ship-from and ship-to possessing parties (a GLN, or None). Additive keys only; no new warnings.18.0.0.2.0TestExtensionSeamsEpcis.test_c10_possessing_party_keys
Columns and values of the package-ledger CSVdscsa.retention.export._dscsa_ledger_columns()
dscsa.retention.export._dscsa_ledger_row_extra(line, package)
Return the column list of the package-ledger CSV (retention export and trace response) and the extra values of one row. Default: the core's columns and no extra values.18.0.0.2.0TestExtensionSeams.test_c11_default_identical_csv
TestExtensionSeams.test_c11_seam_sets_columns_and_values
Is the 3PL switch onres.company._dscsa_3pl_on()True when the company's Third-party logistics (3PL) setting is on; False for an empty recordset. Gate every operational 3PL override with it and return super() when it is off.18.0.1.0.0TestThreePLInstall.test_defaults
TestThreePLCommon.test_owner_receipt_helper
Has the company ever had an ownerres.company._dscsa_3pl_used()True once the company has had an owner profile; False for an empty recordset. Gate overrides that separate or present owner data with it.18.0.1.0.0TestThreePLInstall.test_defaults
TestThreePLCommon.test_owner_receipt_helper
The active owner profile of a partnerres.company._dscsa_3pl_profile(partner)The active owner profile of the partner's commercial partner in this company, or an empty recordset (no partner, the company's own partner, or no active profile). Accepts a record or an id.18.0.1.0.0TestThreePLInstall.test_owner_needs_profile_not_company
The owner key of stockaglow_rx_tracking_3pl.models.dscsa_3pl_common.owner_key(partner, company)0 for own stock (no owner, or the company's own partner), otherwise the owner partner's id. Compare owners by their keys, never by raw records.18.0.1.0.0TestThreePLCommon.test_company_partner_is_own
Owner checks before a transfer is validatedstock.picking._dscsa_3pl_done_errors(final)Every owner check before a 3PL transfer is validated, as a list of messages (empty = pass). It runs for every caller, before Odoo's own validation; an extension appends its messages to super()'s list.18.0.1.0.0TestThreePLHooks.test_done_errors_extension

More reference pages​

  • Security: groups, access rights and record rules.
  • Settings: the settings fields and the company fields behind them.
  • Data records: scheduled jobs, sequences, email templates, activity types, reports and server actions.
  • Routes: the web routes of the portals.
  • Configuration reference: All settings, Statuses, Menus.