CARINAOS · Support
Support Guide · Grow-floor edition
CarinaOS Go

METRC compliance, done from the row. This guide covers setup, everyday actions, syncing, billing, and fixes — everything you need to run compliant from your phone.

Platform iOS Price $99 / month Trial 14 days free App Store ID 6786339119 Integration METRC · direct TPI v2
01 — Overview

What CarinaOS Go is

CarinaOS Go is an iOS app for licensed cannabis cultivators. It does one job well: recording the METRC compliance events that happen on the grow floor — plantings, flips, moves, waste, harvests, and packages — and filing them to METRC, right from your phone.

Go is built by an operator who runs a licensed commercial grow, so it's shaped around what actually happens between the rows. Two things make it different from filing at a desk: you scan a tag and act, and it keeps working with no signal — the reality of cultivation in metal buildings and back rooms.

What Go is for

  • Recording METRC compliance actions from where the work happens.
  • Working offline in dead zones, then submitting to METRC automatically when you reconnect.
  • Scanning a plant or package tag and taking the right action in a couple of taps.

What Go is not

Go is a focused, standalone METRC compliance tool — that's the whole point. It isn't your full back office. Broader operations software — room and cycle setup, staff and task boards, dashboards, analytics, and sensor data — lives in the CarinaOS full suite (Ops Hub), a separate web product. Go doesn't require the Hub and isn't a slice of it. If METRC compliance is what you need on the floor, Go stands on its own. See Go & the full suite.

Good to know

CarinaOS is software only. It never handles plant material — it records what your team does and files it to METRC on your behalf.

02 — Requirements

Before you start

You'll get through setup fastest with these ready:

  • An iPhone running a current version of iOS.
  • An active METRC license in a supported state. Go writes directly to METRC across 17 states. Not sure yours is live? Ask support before you subscribe.
  • Your METRC user API key for the license you'll manage — you generate this inside METRC. See Connect METRC.
  • A CarinaOS Go account, or just start the 14-day free trial from the app.
  • A connection at some point in the day. Go works offline while you're on the floor, but it needs to reach the internet to sync fresh data and to file your queued actions to METRC.
Heads-up

You must already be enrolled and licensed in METRC for your state. Go connects to your existing METRC account — it doesn't create your state license or enroll you in track-and-trace.

03 — Quick start

Five steps to your first entry

  1. Install the app. Search the App Store for “CarinaOS Go,” or open App Store ID 6786339119.
  2. Start your trial and sign in. Create your Go account and begin the 14-day free trial.
  3. Connect METRC. Paste your METRC user API key, then choose your state and license.
  4. Let it sync. Go pulls in your current plants, batches, packages, and tags. Confirm they look right.
  5. Scan and act. Scan a plant or package tag, take an action, and submit. You're live.
04 — Install

Download & install

CarinaOS Go is on the Apple App Store for iPhone.

  1. Open the App Store on your iPhone.
  2. Search CarinaOS Go, or go directly to App Store ID 6786339119.
  3. Tap Get to install, then Open.

Keep automatic updates on so you always have the latest METRC field support and fixes.

Open in the App Store →

Android?

Go is iPhone-only today. If your crew is on Android, the CarinaOS full suite (Ops Hub) runs in any mobile browser in the meantime. See Go & the full suite.

05 — Billing

Free trial & subscription

CarinaOS Go is $99 per month after a 14-day free trial. The trial is full access — connect METRC and run real entries during it.

How billing works

  • Your subscription runs through your Apple ID, like any App Store subscription.
  • If you don't cancel before the trial ends, it converts to the paid monthly plan automatically.
  • Billing, receipts, and renewals are handled by Apple, not charged separately by CarinaOS.

Manage or cancel

  1. Open Settings → tap your name at the top.
  2. Tap Subscriptions.
  3. Select CarinaOS Go to change plan, or tap Cancel Subscription.
Before you cancel

Cancel at least a day before your trial or renewal date to avoid the next charge. Cancelling stops future renewals — you keep access until the end of the period you've paid for. Your compliance data stays in METRC regardless; CarinaOS never owns your record.

06 — Account

Create your account & sign in

Open Go, create your CarinaOS Go account, and start the free trial. Go uses one login per facility.

  1. Launch CarinaOS Go.
  2. Choose Create account and enter your work email and a password, or Sign in if you already have a Go login for this facility.
  3. Start the free trial when prompted.

Each login is tied to a single licensed facility. If you run more than one license, you'll sign out and sign back in with that facility's account to switch — see Connect METRC.

More than one facility?

Go signs you into one facility at a time. To work a different license, sign out and back in with that account. If keeping several facilities open at once is essential to how you operate, contact us about a custom solution.

07 — Connect METRC

Connect your METRC account

This is the one setup step that matters most. CarinaOS holds the certified integrator credential for your state; you supply your own METRC user API key so entries post under your license.

1. Generate your METRC user API key

You create this inside METRC, not in CarinaOS:

  1. Sign in to METRC for your state on a computer.
  2. Open your account / user settings and find API keys (often under your name in the top-right menu).
  3. Generate a key for CarinaOS as the integrator and copy it. Treat it like a password.
Permissions matter

The METRC user whose key you generate needs permission for the actions you'll take in Go — plants, harvests, packages, and so on. If an action is rejected, the user's METRC permissions are usually the cause, not the app.

2. Add the key in Go

  1. In Go, open the METRC connection setup.
  2. Paste your user API key.
  3. Choose your state, then the license / facility you want to manage.
  4. Save. Go verifies the connection and pulls in your current plants, batches, packages, and tags.

3. Confirm it worked

A healthy connection shows your live facility data. If lists come back empty or you see an error, see Troubleshooting — usual causes are a mistyped key, the wrong state, or METRC permissions.

Multiple licenses

Go connects one facility per login. To manage another license, sign out and sign back in with that facility's account — you can't hold several open at once by default. If that's a hard requirement, ask us about a custom solution. Whichever facility you're signed into is where every entry posts, so confirm it before a session.

08 — Model

How Go maps to your grow

Go mirrors how METRC and your facility are organized, so what you see matches what's on the floor.

Facility / License
The METRC license you're posting to. Everything you record lands under the license you're signed into.
Room
Maps to a METRC location. Plants and batches live in rooms; a move changes the room.
Batch
A plant batch — a group of plants tracked together in METRC. In Go you act on batches (flip, move, waste from) rather than one plant at a time.
Cycle
A group of plants moving through the grow together, numbered by flip date. Helps you find the right plants fast.
Tag
The METRC RFID tag on a plant or package — the unique ID that ties a physical thing to its compliance record. You scan it to act.

You don't set all of this up in Go. Rooms, licenses, and tags come from METRC and sync into the app so your entries drop into the right place.

09 — Scan to act

Scan a tag, take the action

The fastest way to work in Go is to scan. Point at a plant or package tag and Go shows only the actions that make sense for what you scanned.

  1. Scan the tag. Go resolves it and reads what it is.
  2. Pick from context-aware actions. What you can do depends on the tag:
    • PackageAdjust or Finish
    • Veg plant / batchFlip to flower
    • Flower plantDestroy
  3. Confirm and submit. The action opens with the scanned tag already filled in. Go checks the entry for completeness, then files it to METRC — or saves it to your offline queue if you have no signal.
Every action is checked first

Before anything is sent, Go validates the full entry — required fields, correct formats — so you don't file (or queue) something METRC would bounce. If a field is missing, Go tells you before it goes anywhere.

10 — Plants & batches

Plants & batches

Go handles the plant events you do most: starting veg plants from clones, flipping to flower, and moving a batch.

Clone → veg

Turn a clone package into veg plantings from the Clone Pipeline. Choose the clone package, set the count and destination, and submit — Go creates the veg plantings in METRC and tags them into veg where required.

Flip to flower

Move a veg batch into flowering. Scan a veg plant (or use the Veg tab), tap Flip, and confirm. Large batches are handled in the background so METRC's per-request limits don't trip you up.

Move a batch

Relocate a batch to a new room or location from the Batch tab. Pick the destination and submit.

Batches, not single plants — yet

Today you move a whole batch at once. Moving individual plants out of a batch isn't available in the app yet — for a one-off single-plant move, handle it in METRC directly. Tell us if per-plant moves matter to your workflow; it's on the roadmap.

Log additives (IPM & feeding)

Record additive applications — nutrients or IPM treatments — against plants or an entire location, for your feeding and pest-management records. Choose what was applied, the amount, and the target, then submit. Like any action, additives queue offline and file on reconnect.

Print clone labels

If your workflow uses printed clone labels, those are generated alongside your METRC sync so the physical tag and the record stay matched.

11 — Waste

Destroy & log waste

Record destruction and waste as it happens so your on-hand counts stay accurate. Go handles waste for both flowering plants and immature (veg) batches.

  1. Scan the plant or open the Destroy action from the Flower or Veg tab.
  2. Enter the waste weight and pick a reason, and note the material where asked.
  3. Submit. The waste event files to METRC (or queues if you're offline).
If a waste entry is rejected

Most rejections are a missing or zero weight, or a reason METRC doesn't accept. Waste against an empty or already-finished batch is refused by METRC — that's a state rule, not an app error. Confirm the plants still exist and have quantity, and that weight and reason are filled in.

12 — Harvest

Harvesting

Go carries the harvest actions so you can log and package a harvest from the floor.

  • Log harvest — record plants coming down and their weight against a harvest.
  • Harvest → package — create a tagged package from harvested material.
  • Finish harvest — close the harvest once its remaining weight is accounted for.
Finishing can't be undone in-app

Finishing a harvest is not reversible inside Go — if you need to reopen one, you'll do it in the METRC portal. Only finish once the numbers actually reconcile.

13 — Packages

Packages & items

Create tagged METRC packages, adjust or finish them, and finish a whole stack at once.

Create a package

From an immature batch, start a new package: select the item, enter the quantity and unit of measure, assign a package tag, and submit.

Adjust a package

Correct a quantity: enter the new amount — Go shows a live preview of the result — pick a reason, and submit. An adjustment is reversible (it can be negated back), and it's logged in METRC with the reason attached.

Finish & unfinish

When a package is depleted or done, finish it. Finished a package by mistake? Unfinish reopens it. Both are available by scan or from the Package tab.

Bulk-finish by scan

Closing out a lot of packages? Scan a stack of package tags and finish them all in one pass. Optionally, zero out remaining first — Go adjusts each to 0, then finishes. Everything is checked before it's sent, and offline it queues the adjust-then-finish steps in order.

Items & strains

Packages reference METRC items, each with a unit of measure, and items are tied to strains. You can add both right in Go — no desktop trip required:

  • Add a strain — create a new strain so it's available for plantings and items.
  • Add an item — create the item with its category, unit of measure, and strain, so it's ready to package against.

Set these up before packaging so the right item and unit are there when you create the package.

Units are exact

METRC is strict about units of measure. When you add an item, pick the unit that matches how it's meant to be counted — a mismatch is a common cause of a rejected package.

14 — Sync & offline

Syncing & working offline

Go writes directly to METRC — no second system in between. When you have signal, actions file immediately. When you don't, they wait safely on your device and file themselves the moment you reconnect.

Reads vs. writes

  • Reads — your plants, batches, packages, and tags are pulled from METRC so what you see reflects the state record. Fresh counts need a connection.
  • Writes — plantings, flips, moves, waste, harvests, and packages post to METRC when you submit, or as soon as you're back online if you made them offline.

The offline queue

When you're offline, a write action is saved to an on-device queue instead of failing:

  1. You act as normal. Scan and take the action — no connection needed.
  2. Go confirms it's queued, not filed. You'll see 📥 Offline — saved to queue. Auto-submits when back online. Go never tells you something reached METRC while you're offline.
  3. A badge shows the count in the corner: 📥 3 queued · offline.
  4. On reconnect, the queue drains automatically, in the exact order you entered items, and confirms with ✅ N queued actions submitted. Completed items clear a few seconds later.

The queue, under your control

Tap the badge to open the queue. Each item shows an icon and plain label (e.g. “Flip to flower”), a detail line (batch · strain · tag), and a status:

Queued Submitting Failed Done

You can move items up or down, retry a failed one, remove an item, or tap Submit all now to send everything without waiting for auto-drain.

What you can rely on

  • Persistent — the queue survives closing and reopening the app.
  • In order — items submit in the sequence you created them, which matters for multi-step work (zero-out, then finish).
  • Honest status — nothing is shown as filed until METRC actually accepts it.
  • No silent loss — a failed action stays in the queue with its error message, ready to retry. It's never dropped.
  • Validated first — each action is checked for completeness and format before it's queued, so fewer things bounce.
Two things to know

New tags need a sync. Actions on tags the app has already synced work offline; discovering a brand-new tag it's never seen requires a connection to resolve. No auto-dedup. If you deliberately queue the same action twice (say, “adjust +5” on one package, twice), both submit — remove duplicates before reconnecting if that wasn't intended.

15 — Floor tools

Tag inventory, room audit & records

Beyond filing actions, Go includes a few tools built for working in the room.

Tag inventory

Check your METRC tag supply from your phone — how many plant and package tags you have available to assign. It's a read view, so the latest counts arrive on your next sync. Order more tags in METRC before you run low, since running out stops tagging work cold.

Room audit

Scan every tag in a room and Go reconciles what's physically there against your last synced data. It sorts results into three buckets:

Matched — present and expected Unexpected — found but not on record Missing — on record but not found

The audit runs fully offline, and you can share or export the result. It's the fastest way to catch a mis-tagged plant or a discrepancy before it becomes a compliance problem.

Activity log with undo

Go keeps a running log of what you've done. Where METRC allows a clean reversal, you can undo from the log — an adjustment negates back, a finish unfinishes. It's a fast safety net for the occasional wrong tap.

Photo attachments

Attach photos to your records for your own documentation, and export your log to CSV when you need it off the phone.

16 — Full suite

Go & the full suite

Go is deliberately narrow: METRC compliance, from the floor. When you want the rest of the operation in one place, that's the CarinaOS full suite (Ops Hub) — a separate web product that Go doesn't require.

CarinaOS Go
iPhone app, $99/month. METRC compliance from the floor: scan-to-act, plants and batches, waste, harvests, packages (plus item & strain setup), offline queue, tag inventory, room audit.
CarinaOS full suite · Ops Hub
A separate web platform for the whole operation: room and cycle setup, staff and task boards, dashboards and deeper monitoring, analytics, and sensor data.

Only need to stay compliant with METRC on the floor? Go on its own is enough. Want the full operations picture — scheduling, environment and sensor data, analytics, and reporting alongside it? See the CarinaOS Hub guide, or talk to us.

17 — Troubleshooting

Troubleshooting

“I connected METRC but everything is empty”

Almost always one of three things: the API key was mistyped or has a stray space, the wrong state is selected, or the METRC user lacks permission. Re-paste the key carefully, confirm the state, and check the user's METRC permissions.

“My connection was working and now it isn't”

A METRC key can be regenerated or revoked on the METRC side, which breaks the link. Generate a fresh user API key in METRC and add it again in Go.

“Scanning a tag does nothing while I'm offline”

Check whether it's a tag the app has synced before. Actions on known tags queue offline; a brand-new tag the app has never seen needs a connection to resolve its details. Get back into signal, sync, and try again.

“My queue isn't draining after I reconnect”

Open the queue and tap Submit all now. Confirm the phone truly has internet by loading any web page — captive Wi-Fi and weak signal are common culprits.

“An item is stuck on Failed”

Open the queue and read the error on that item. Most failures are METRC validation issues — a missing or zero weight, an invalid reason, or the wrong unit. Fix the underlying entry and tap Retry. Failed items never disappear on their own.

“The badge shows a count but the queue looks empty”

Reopen the app. The queue reloads from device storage on launch and drains any leftovers if you're online.

“An action succeeded but it's still in the list”

Give it a few seconds — completed items are pruned shortly after they succeed.

“An action was rejected by METRC”

The rejection comes from METRC and usually names the cause: a unit-of-measure mismatch, an action against an empty or finished batch, a missing tag, or a permission the user doesn't have. Fix the record or permission, then resubmit.

“I can't sign in”

Confirm you're using this facility's Go login. Reset your password if needed. Remember Go is one login per facility — the account is tied to the license.

“It says my subscription isn't active”

Check Settings → your name → Subscriptions to confirm CarinaOS Go is active on your Apple ID. If you restored a device or changed Apple IDs, you may need to restore purchases.

18 — FAQ

Frequently asked questions

If I lose signal mid-action, do I lose my work?

No. The action is saved to your device's queue and submits automatically when you're back online — in the order you entered it.

What can I do offline?

The METRC write actions: flip to flower, destroy / log waste, adjust a package, finish and unfinish packages, create a package, clone → veg, move a batch, the harvest actions, log additives, and bulk-finish by scan. Room audit and the activity log work offline too. What needs a connection: resolving a brand-new tag you've never synced, and pulling fresh live counts.

Will I accidentally file the same action twice?

Each queued action submits once. Note that Go doesn't auto-deduplicate intentional repeats — if you queue “adjust +5” twice on the same package, both submit. Remove duplicates from the queue before reconnecting if that wasn't intended.

One of my queued actions failed — what do I do?

Open the queue, read the error on that item, fix the underlying issue (often a wrong weight, reason, or unit), and tap Retry. Failed items never vanish on their own.

Do actions submit in the right order?

Yes — the queue drains in the exact order you created items. That matters for multi-step work, like adjusting a package to zero and then finishing it.

Can I move a single plant instead of a whole batch?

Not in the app yet — Go moves batches today. For a one-off single-plant move, handle it in METRC directly. Let us know if per-plant moves matter to you.

Which states does Go support?

Go writes directly to METRC in 17 states. If you're unsure whether yours is live, contact support with your state and license type before subscribing.

Do I need a METRC account already?

Yes. Go connects to your existing METRC account for a licensed facility. It doesn't enroll you in track-and-trace or issue your state license.

Is there an Android version?

Not yet — Go is iPhone-only. On Android, use the CarinaOS full suite (Ops Hub) in a mobile browser.

Can I manage more than one facility?

Go uses one login per facility. To manage a second license, sign out and sign back in with that facility's account. Need several open at once? Contact us about a custom solution.

Is my data safe? Who owns it?

Your compliance record lives in METRC and always belongs to you — CarinaOS files to METRC on your behalf, it doesn't own your data. Each operation's data is isolated from every other, and communication with METRC is encrypted. CarinaOS is software only and never touches plant material.

What does it cost, and is there a trial?

$99/month after a 14-day free trial, billed through your Apple ID. Go is a standalone METRC tool; the CarinaOS full suite is a separate product.

How is Go different from the full suite?

Go does METRC compliance from the floor, on iPhone, and works offline. The full suite (Ops Hub) is a separate web platform for the wider operation — scheduling, monitoring, analytics, and more. Go doesn't require it.

19 — Glossary

Glossary

METRC
The state cannabis track-and-trace system Go files to. Your compliance system of record.
TPI
Third-Party Integrator — a vendor certified to write to METRC through its API. CarinaOS is a certified TPI.
API key
Your personal METRC credential that lets Go post actions under your license.
Tag
The unique METRC RFID identifier on a plant or package. You scan it to act.
Batch
A METRC plant batch — plants tracked together. In Go you act on batches rather than single plants.
Scan-to-act
Scanning a tag to get only the actions that fit what you scanned, with the tag pre-filled.
Offline queue
The on-device list where actions wait when you have no signal, then file to METRC in order on reconnect.
Validation check
Go's up-front check of an action's fields and formats, run before anything is filed or queued.
Package
A tagged, tracked quantity of product created from a harvest or another package.
Item / unit of measure
The product definition a package is made of, and how it's counted (grams, each, and so on). Must match METRC.
Strain
A cultivar record in METRC that items and plantings reference. You can add strains in Go.
Room audit
Scanning every tag in a room to reconcile what's there against your synced data — matched, missing, or unexpected.
20 — Help

Get help

Still stuck? Reach a human. The more specific you are — the exact action, the facility, and any error text METRC returned — the faster we can sort it out.

Email support: hello@carinaos.com

Online: carinaos.com

App Store: ratings and version notes at App Store ID 6786339119

When you write in, tell us your state, your license, what you tapped, and what happened. Screenshots of any error help a lot.

Built by an operator

CarinaOS is built and run by someone who works a licensed grow every day. When you flag something, it reaches the person who actually knows the floor.