COSTA.
News · November 2, 2026

COSTA 2.0: lab reports, GTIN history and provincial profiles

COSTA 2.0 is out as a draft for public comment. It turns COSTA from a product-page markup format into a full product data standard, with free tools that check data against federal rules and provincial supplier requirements.

Riel Roussopoulos, founding maintainer

COSTA 2.0 is now published as a draft for public comment. It is a breaking release. Version 1 described a product page. Distributors, retailers, labs and regulators need more than that: which lot this is, what its label says, what the lab measured, and which GTIN meant which product, and when. Version 2.0 covers product master data, lot data and lab results, with a free reference validator that checks them.

Why a breaking release

Version 1 had errors we needed to fix. It expressed dried cannabis potency as a percentage, but under the Cannabis Regulations labels show Total THC and Total CBD, and dried cannabis is labelled in milligrams per gram. It also pointed to schema files that were never published. Fixing both properly meant changing field names and structure, so 2.0 is a new major version.

What's new

  • Aligned with federal rules. The seven classes of cannabis in Schedule 4 of the Cannabis Act map one-to-one to the consolidated schedule Health Canada proposed for the Cannabis Tracking System Order in the Canada Gazette, Part I, on September 26, 2026. Potency is carried in the same basis and units the label must use, and the validator checks the federal THC limits.
  • Lab reports as data. A certificate of analysis becomes a structured record: the lab and its accreditation, the sample, every test panel and result, and a SHA-256 fingerprint of the signed PDF. The validator checks that required tests are present, that Total THC adds up (THC + 0.877 × THCA), and that the label is within the tolerance the Cannabis Regulations allow.
  • GTIN history. Every product gets a permanent COSTA ID. GTINs become dated assignments, and a defined lookup by lot and packaging date keeps a reused or reassigned GTIN from resolving to the wrong product.
  • Provincial profiles. Machine-checkable rules for the Ontario Cannabis Store, BC Liquor Distribution Branch and SQDC, with Alberta (AGLC) provisional. Barcodes can vary by province, because they already do: the OCS forbids application identifier (90) on case labels and the SQDC requires it.
  • JSON, JSON-LD and XML. The XML Schema is generated from the JSON Schema, and every example converts JSON → XML → JSON without loss.
  • Free tooling. A reference validator, a test case for every rule, and automated checks on every change to the repository.

What COSTA is, and what it isn't

COSTA does not issue GTINs or replace barcodes. Provincial distributors require GS1 GTINs, and COSTA uses them as their owners publish them. What COSTA offers is an open, royalty-free way to describe and share the data behind those GTINs, hosted on each producer's own domain and checkable by anyone.

COSTA does not replace provincial intake processes today, either. A COSTA feed becomes a substitute for a distributor's own process only once that distributor agrees to accept it. That is the work ahead, and it is why the provincial profiles exist: they show exactly how COSTA data meets each distributor's current requirements.

Moving from version 1

  • Potency: multiply a percentage by 10 to get mg/g (18.5% becomes 185 mg/g), and use the Total THC and Total CBD values printed on the label.
  • Class of cannabis: use the Schedule 4 wording exactly, for example "dried cannabis".
  • Price and availability are no longer in the core record. Keep them in schema.org Offer markup on your product pages.
  • Lot numbers, expiry dates and test results move to lot and lab report records.

Section 14 of the specification has the full migration table.

Comment on the draft

We want feedback before 2.0 is final, especially from producers willing to try it on a real catalogue, labs on the lab report model, and provincial distributors on the profiles. Open an issue or pull request on GitHub, or email hello@gocosta.org.

Separately, Health Canada's comment period on the proposed Cannabis Tracking System Order amendment closes on November 10, 2026.

Read the 2.0 spec →View on GitHub