Skip to content

Module 08 · Read-only on every plan

Every POS in. Every agent out. Draft tools only.

BudAlly connects to your POS and to payment, delivery and HR systems, and normalizes all of it into one source-tagged record reconciled against Metrc. Any AI agent you authorize can read that record and draft work through one MCP server. No agent can execute anything a person hasn't approved in BudAlly.

By BudAlly

Published

  • 01 · CAPABILITY MANIFEST

    Each adapter declares what it can read, what it can write and how fast.

    Every adapter version ships a signed manifest covering its auth model, read and write surfaces, change feed, rate budget, sandbox and the vendor's data-use rules. A probe checks each surface at connect time, nightly and after any authorization error. A surface the key can't reach is shown as "key lacks permission", never as "unsupported", and the features that depend on it show "Partial data".

  • 02 · ONE RECORD

    One source-tagged record, reconciled to Metrc.

    Locations, items, packages, receipts, lines, taxes, tenders, customers, employees, discounts, deliveries, tills and POs are normalized into canonical objects, and every row carries its source vendor, connection, version and as-of time. When a POS receipt is missing its Metrc receipt id, package tags or tax split, BudAlly matches it in Metrc and badges the filled fields "from Metrc". Matches below 0.90 confidence go to a review queue.

  • 03 · FILES AND METRC-ONLY

    A POS without an API still connects.

    CSV and SFTP exports and emailed reports are mapped per tenant, with a drift detector for when a file layout changes and a completeness check on every file window. In Metrc-only mode, sales, tags and taxes come from Metrc receipts, and tender, till and staff fields show "Partial data" rather than an estimate.

  • 04 · SYNC SCHEDULER

    Syncing leaves headroom for your POS's own Metrc uploads.

    A global scheduler meters every vendor, credential and endpoint and plans at 70% of each documented ceiling. Sales come first, then read-backs after approved writes, transfers, incremental sync and backfill; agent live reads are capped at 10% of any budget and otherwise read the mirror. Start times are staggered per tenant, and rate-limit responses are honoured.

  • 05 · DATA-USE RULES

    Each vendor's data terms are enforced on every query.

    Every row is tagged with the system it came from, and that tag follows it through joins. At query time, a policy engine checks the purpose, the kind of client, the source tags and the scopes, and returns allow, aggregate-only or deny, logging the rule ids it applied. When a question can be answered from Metrc data alone, it is re-planned onto Metrc and the answer is badged "from Metrc".

  • 06 · BUDALLY MCP

    One MCP server for Claude, ChatGPT or your own automation.

    The server uses OAuth 2.1 with PKCE, and each user approves each client on a consent screen that shows the client, its redirect, its scopes and the licenses it can see. Scopes are read per area plus draft, the customer-PII scope is off by default, and a grant lasts 90 days at most. What a client can do is the narrowest of its scopes, the user's role in BudAlly, the licenses on the grant and any kill switch.

  • 07 · DRAFT, NEVER EXECUTE

    Agent tools create proposals; execution happens only inside BudAlly.

    A draft tool creates a proposal with a payload hash, an evidence snapshot, preconditions and a preview, and returns a link to Approvals. Execute tools exist only for BudAlly's in-app executor, need an approval whose payload hash matches, and are never listed for any OAuth client, BudAlly's own agents included. A direct call to one is refused and logged.

  • 08 · AUDIT AND KILL SWITCH

    Every agent call is logged, and any client can be cut off within a minute.

    Each call records the client, user, tool, a hash of the arguments, rows returned and touched, the rules applied and the decision. The log is hash-chained, anchored daily to write-once storage and exportable per retailer. Kill switches work per tenant, vendor, connection, tool or client and take effect within 60 seconds, and offboarding a user revokes every agent grant they held.

What it never does

  • No execute scope exists for any MCP client.
  • Vendor tokens never leave the vault and never enter a model's context.
  • Metrc writes always run under the approver's own key; POS writes run under the approver's own login wherever the vendor supports one.
  • Dutchie-sourced rows never feed benchmarks or anything published across operators; benchmarks use Metrc data with at least 8 contributors.
  • An agent operated by another software vendor needs a tenant admin's approval and never gets the customer-PII scope.
  • BudAlly's own agents use the same server and the same policy; there is no back door.

BUILT TO CONNECT WITH

  • Metrc
  • Dutchie
  • Flowhub
  • Cova
  • BLAZE
  • Meadow
  • POSaBIT
  • Sweed
  • Aeropay
  • Onfleet
  • Deputy
  • Claude
  • ChatGPT
  • Your payroll provider (export)

Questions

Which POS systems does BudAlly connect to?
Dutchie is first, alongside Metrc, then Flowhub and Cova, then BLAZE, Meadow, POSaBIT and Sweed. Any other POS connects through its CSV or SFTP export, or in Metrc-only mode, from the start.
Can an AI agent change prices or write to Metrc through the MCP server?
No. Agents get read tools and draft tools. A draft becomes a proposal in Approvals, and only a named person can approve it; execution then runs inside BudAlly under that person's credential.
Which AI clients can connect?
Claude, ChatGPT and other MCP clients that support OAuth. Each user approves each client separately, chooses its scopes and licenses, and can revoke it at any time. Access expires after 90 days at most.
What about New Mexico?
New Mexico runs on NMS2S rather than Metrc. BudAlly reads New Mexico data from NMS2S exports and the store's POS; the CCD's expanded API is open to integration partners that complete its validation process.
Which plan includes MCP access?
Every plan starts read-only. The Close plan includes MCP read tools, and Chain Ops adds draft tools for your own agents.