openepcis_connector_product_expiry: expiry dates as GS1 terms
A data-only bridge. Three mapping rows carry the dates Odoo's Expiration Dates app keeps on a lot — expiration date, best-before date, and an inactive sell-by row — into the per-instance catalog document under their GS1 names.
Odoo's Expiration Dates app (product_expiry) keeps three dates on a lot. GS1 has a term for each. This addon is the three mapping rows that connect them, and nothing else: the fields belong to product_expiry, the publishing to openepcis_connector_stock, and this bridge exists so that a database without Expiration Dates never carries mapping rows pointing at fields it does not have.
| Module | openepcis_connector_product_expiry |
| Depends on | openepcis_connector_stock, product_expiry |
| Installs | Automatically, once both are present |
| Contains | Data only — no Python, no views |
| Source | openepcis-odoo · LGPL-3 |
The three rows
| Odoo field on the lot | GS1 term | Shipped |
|---|---|---|
Expiration Date (expiration_date) | expirationDate | Active |
Best before Date (use_date) | bestBeforeDate | Active |
Removal Date (removal_date) | sellByDate | Inactive |
The first two agree with GS1 almost word for word: Odoo's expiration date is the date from which the goods may be dangerous, which is GS1's definition of expirationDate, and Odoo itself labels the second field Best before.
The third is shipped switched off on purpose. Odoo's removal date means "take it out of stock for first-expired-first-out"; GS1's sellByDate means "last day at retail". Close, but equating them is a judgement an administrator should make, not this module. Activate the row under Settings → Technical → OpenEPCIS → Field mapping if the two mean the same thing in your business.
Like every shipped mapping, the rows are starting points marked so that an upgrade will not undo your edits.