The challenge
Manual reconciliation, and costs no one could see
Nuthera's manufacturing team keeps its in-house records in sync with Metrc to confirm that product is weighed and reported correctly. That reconciliation was manual data entry.
“We lost an employee responsible for data entry based on in-house and Metrc data. Budget-wise, they decided to lump that task onto someone else's entire job, and needless to say they fell behind.”

A bigger question was also going unanswered: what does each batch actually cost to make? Every finished product passes through several production stages, and no cannabis ERP Taylor had seen could trace that chain back to raw inputs and put a price on it.
The insight
The answer was already in Metrc
“My idea is to track what happens as tags are created in Metrc.”

Instead of keying data into another system, Taylor based the entire process on Metrc data alone, pulled through the T3 API.
The solution
A live cost and compliance system built on Metrc data
Taylor built a system in Google Sheets that stays in sync with Metrc automatically. It reconciles in-house records against Metrc without manual entry, and it traces every package back through each production stage to its raw inputs, attributing cost along the way. For any lot, Nuthera can see what went in, what came out, and the true cost per gram.
Traced back to raw inputs
93 upstream packages- 38 Raw material
- 44 Flower batches
- 9 Crude extracts
- 2 Refined crude
- This lot
Cost build-up
by source stage| Source | Input (g) | Cost |
|---|---|---|
| Crude extract | 31,660 | $169,537 |
| Refined crude | 4,340 | $26,474 |
| Total | 36,000 | $196,011 |
The results reach well beyond compliance:
- No replacement hire. Automated reconciliation took over the data-entry workload, so Nuthera didn't need to hire for the role.
- Profitability by batch. Nuthera knows the true cost of every Metrc tag it has ever made. Batches that run over cost are flagged, and Sales uses each batch's true cost to set its lowest acceptable price.
- Thousands saved. Each automation has saved thousands of dollars in manual entry labor, and the compliance team, department leads, and managers are thrilled with every update.
Taylor started in the lab, since everything starts there, and got the distillate summary and all its stages working first. Final packaging tags for production items come next, along with labor, split by production stage, and the bill of materials that completes the entire loop.
“Once labor is integrated, I will have the most accurate bill of materials in the state, perhaps even broader. I can tell the CFO exactly what we pay in labor, per gram, to pack a sock full of raw material.”

What T3 brings
Complete Metrc data, in the shape Taylor needed
Every hour, Taylor's Google Apps Scripts request four T3 API reports: active packages, inactive packages, and inactive transfers in and out. Each one returns the complete dataset in a single request, ready to drop into a sheet.
“I figured out how to get all the necessary data from Metrc via T3. This API has become insanely useful for me.”

Complete history, in bulk
Active and inactive packages and transfers, up to 50,000 records in a single report request. That is the full lineage behind tag-level costing, refreshed every hour.
Reports in any shape
Choose the columns, filters, sort order, and licenses, then get JSON, CSV, Excel, or a Google Sheet back, ready for the sheet it feeds.
Simple to build on
One secret key, predictable responses, and 490+ endpoints in one interactive OpenAPI reference. No Metrc API keys and no servers: a Google Apps Script is enough.
A report pull like Taylor's takes a few lines of Apps Script. Every parameter is covered in the API documentation.
// Runs on an hourly time-driven trigger
function syncActivePackages() {
const key = PropertiesService.getScriptProperties().getProperty("T3_API_KEY");
const url = "https://api.trackandtrace.tools/v2/packages/active/report" +
"?licenseNumber=LIC-000123&contentType=csv&prependCsvMetadata=false";
const csv = UrlFetchApp.fetch(url, { headers: { "X-T3-API-Key": key } });
const rows = Utilities.parseCsv(csv.getContentText());
const sheet = SpreadsheetApp.getActive().getSheetByName("Active Packages");
sheet.clearContents();
sheet.getRange(1, 1, rows.length, rows[0].length).setValues(rows);
}Each run rewrites the tab with the latest Metrc data:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Label | Location Name | Item Name | Quantity | Unit Of Measure Abbreviation |
| 2 | 1A4000000000000000004821 | Lab Vault | Distillate Oil | 1120 | g |
| 3 | 1A4000000000000000004702 | Extraction | Crude Oil | 4860 | g |
| 4 | 1A4000000000000000004901 | Packaging | Vape Cart 1g - Blue Dream | 480 | ea |
| 5 | 1A4000000000000000004902 | Packaging | Vape Cart 1g - Pineapple Express | 352 | ea |
| 6 | 1A4000000000000000004915 | Finished Goods | Pre-Roll 1g - Wedding Cake | 1200 | ea |
| 7 | 1A4000000000000000004920 | Finished Goods | Flower 3.5g - Sour Diesel | 260 | ea |
Featured

Taylor McKnight leads information technology at Nuthera, building the automations, reports, and forms that connect Nuthera's Metrc data to its compliance, production, and sales teams.
About Nuthera
Nuthera is a Missouri cannabis company, seeded in Missouri by Missourians. It handcrafts Panda Chocolates, Panda Fruits, Indi Vapes and Pre-Rolls, Infinity Concentrates, and Nuthera Flower, sold at dispensaries across the state.
Build on the T3 API
The T3 API gives developers one consistent REST interface to Metrc data across every Metrc state, with interactive OpenAPI documentation, predictable JSON, and reports that export full datasets in a single request.
Track & Trace Tools is not affiliated with Metrc.
