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.

Moduleopenepcis_connector_product_expiry
Depends onopenepcis_connector_stock, product_expiry
InstallsAutomatically, once both are present
ContainsData only — no Python, no views
Sourceopenepcis-odoo · LGPL-3

The three rows

Odoo field on the lotGS1 termShipped
Expiration Date (expiration_date)expirationDateActive
Best before Date (use_date)bestBeforeDateActive
Removal Date (removal_date)sellByDateInactive

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.

Last updated: