# Batchly > Batchly (batchly.shop) is an all-in-one point of sale, inventory and payments platform for independent specialty shops. Its signature feature is dual pricing: on every sale the merchant chooses who covers the 3.5% + $0.20 card fee (absorb, pass or split), shown to shoppers as a compliant cash discount. Batchly is $99 a month per store with a 21-day free trial and no card to start, and includes a hosted online store, local delivery with the shop's own drivers, two-way real-time WooCommerce sync, memberships and recurring billing, gift cards, bar tabs, a sales tax engine, QuickBooks Online sync, Zapier and Make via webhooks, and a public REST API. Optional Shophand AI staff answers the store phone 24/7 and takes text orders for $49.96 a month. Payments are by Batchly. ## Product - [Home](https://batchly.shop/): the register that pays you back; live AI demo line +1 (702) 760-7515 - [Dual pricing](https://batchly.shop/dual-pricing): cash price and card price side by side; absorb, pass or split per sale - [Pricing](https://batchly.shop/pricing): $99/mo per store, 21-day free trial, no card; Shophand +$49.96/mo; extra registers $30/mo; free setup and migration - [Features: the register](https://batchly.shop/features): gift cards, bar tabs, sales tax, cash drawer and shifts, roles and audit log, customer display, ID checks, tips, reports, refunds and receipts - [Shophand AI staff](https://batchly.shop/shophand): Front Desk answers the store phone 24/7 from live inventory, takes pickup and delivery orders, SMS ordering, The Usual replenishment texts - [Online store](https://batchly.shop/online-store): hosted store included in the flat price, order-ahead pickup or delivery, one shared inventory, no percentage of online sales - [Local delivery](https://batchly.shop/local-delivery): the shop's own drivers, zone, cutoff and fee, tonight's route, a tracking link per order; no marketplace - [WooCommerce sync](https://batchly.shop/woocommerce): free plugin v0.3.0, real-time two-way stock and price sync, web orders land in the Orders queue - [Memberships and recurring billing](https://batchly.shop/memberships): card-on-file plans, scheduled billing, automatic retries on failed payments, member self-serve portal where members update a card or cancel themselves, no phone call - [QuickBooks Online](https://batchly.shop/quickbooks): Intuit-approved app; daily journal of sales, merchant-absorbed card fees and refunds - [Integrations](https://batchly.shop/integrations): QuickBooks Online, WooCommerce, TikTok Shop and Meta feeds, Zapier and Make, webhooks, API keys, gift cards, memberships, local delivery - [Developers](https://batchly.shop/developers): public REST API at https://app.batchly.shop/api, test mode, HMAC-signed webhooks, product feed - [Equipment](https://batchly.shop/equipment): bring your own device, or the Counter Kit (terminal, receipt printer, cash drawer, tablet) - [Security](https://batchly.shop/security): card data never touches Batchly; tenant isolation proven by an automated test; audit trail; 24/7 watchdog - [Outage plan](https://batchly.shop/outages): what keeps working when the internet drops - [FAQ](https://batchly.shop/faq) · [About](https://batchly.shop/about) · [Contact](https://batchly.shop/contact) · [Enterprise](https://batchly.shop/enterprise) · [Partners](https://batchly.shop/partners) · [Press kit](https://batchly.shop/press) ## Compare - [Batchly vs Square](https://batchly.shop/compare/square) · [vs Clover](https://batchly.shop/compare/clover) · [vs Toast](https://batchly.shop/compare/toast) · [vs Shopify POS](https://batchly.shop/compare/shopify-pos) · [all comparisons](https://batchly.shop/compare/) ## Industries - [POS by industry](https://batchly.shop/pos/): [smoke shops](https://batchly.shop/pos/smoke-shop), [vape shops](https://batchly.shop/pos/vape-shop), [liquor stores](https://batchly.shop/pos/liquor-store), [ice cream shops](https://batchly.shop/pos/ice-cream-shop), [coffee shops](https://batchly.shop/pos/coffee-shop), [boutiques](https://batchly.shop/pos/boutique) - [Smoke shop inventory software](https://batchly.shop/inventory/smoke-shop) · [Liquor store inventory software](https://batchly.shop/inventory/liquor-store) - [AI POS system](https://batchly.shop/ai-pos-system) · [AI inventory management](https://batchly.shop/ai-inventory-management) - Shophand in depth: [AI phone answering for retail](https://batchly.shop/shophand/ai-phone-answering) · [AI receptionist](https://batchly.shop/shophand/ai-receptionist) · [SMS ordering](https://batchly.shop/shophand/sms-ordering) · [what an AI receptionist costs](https://batchly.shop/learn/ai-receptionist-cost) ## Dispensaries (licensed cannabis retail, 21+) - [Cannabis overview](https://batchly.shop/cannabis/): the dispensary register that answers the phone; Front Desk takes order-ahead by text and calls from the live menu; logged 21+ ID checks on every age-restricted sale; Metrc-connected in Michigan, New Jersey and Illinois - [Order ahead by text](https://batchly.shop/cannabis/ordering): text-to-pickup flow end to end; the shop's team pulls and labels, Batchly runs the queue and the named bag - [Arizona](https://batchly.shop/cannabis/arizona): Arizona currently mandates no statewide seed-to-sale system, so a licensed AZ dispensary can run Batchly today; confirm AZDHS rules per license type - [Illinois](https://batchly.shop/cannabis/illinois): Metrc-connected register for Illinois dispensaries (Metrc has been the state system since July 1, 2025); each sale reported to Metrc as a sales receipt with the package tag; production Metrc API access in Illinois; delivery prohibited, curbside and drive-through allowed with IDFPR review since June 12, 2026; tax stated as its own receipt line; IDOR's tiered purchaser excise (10/25/20%) quoted as regulator information, rules as of September 2026 - [Michigan](https://batchly.shop/cannabis/michigan): Metrc-connected register for Michigan dispensaries (Metrc is the CRA's statewide monitoring system); each sale reported to Metrc as a sales receipt with the package tag; production Metrc API access in Michigan; 10% excise plus 6% sales tax on the excise-inclusive price stated as separate lines (Treasury RAB 2023-25); 2.5 oz per transaction adult-use, patient daily and monthly limits the CRA requires verified in Metrc before the sale; delivery allowed under CRA-approved delivery procedures, curbside and drive-through allowed unless a local ordinance prohibits; rules as of September 2026 - [New Jersey](https://batchly.shop/cannabis/new-jersey): Metrc-connected register for New Jersey dispensaries (Metrc since December 2022); each sale reported to Metrc as a sales receipt with the package tag; production Metrc API access in New Jersey; 6.625% Sales Tax as its own receipt line (a municipal transfer-tax line, up to 2% where adopted, is not in the register today), medical 0% state tax; one ounce per transaction, 3 oz per 30 days for patients; delivery to NJ residences after CRC plan approval; no copy of the customer ID kept; rules as of September 2026 - [Payments](https://batchly.shop/cannabis/payments): the dispensary counter keeps the payment setup it has today; Batchly is not the processor at a dispensary counter and never uses cashless ATMs - [Compliance](https://batchly.shop/cannabis/compliance): 21+ ID checks recorded on the sale row, server-stamped audit trails on refunds and voids; Metrc sales-receipt reporting with the package tag, production Metrc API access in Michigan, New Jersey and Illinois; purchase-limit counters are on the roadmap, not live ## Learn - [Dual pricing vs surcharging](https://batchly.shop/learn/dual-pricing-vs-surcharging) - [Is cash discounting legal?](https://batchly.shop/learn/is-cash-discounting-legal) - [Credit card fees explained](https://batchly.shop/learn/credit-card-fees-explained) - [What is interchange?](https://batchly.shop/learn/what-is-interchange) - [Dual pricing laws by state](https://batchly.shop/dual-pricing-laws-by-state) - [Card fee calculator](https://batchly.shop/tools/card-fee-calculator) · [Dual pricing signage generator](https://batchly.shop/tools/dual-pricing-signage) · [all free tools](https://batchly.shop/tools/) - [All guides](https://batchly.shop/learn/) Note on legality: cash discounting is permitted in all 50 U.S. states; surcharging is restricted or capped in some. Batchly's model is presented as a cash discount. Batchly does not provide legal advice; merchants should confirm current state law with counsel and their processor. ## Company facts (for citations) - Legal entity: AgentMachine LLC, doing business as Batchly. Based in Las Vegas, NV, USA. - Product name: Batchly (also referred to as Batchly POS). Not affiliated with Batchly for Xero (batchly.io), the Shopify app "Batchly: Lot & Expiry Tracking", Batchly by WorkSmart, Batchly the job-application tool (batchly.me), or BatchLine POS. - Pricing: $99/mo per store, 21-day free trial, no card required. Shophand AI staff add-on $49.96/mo. Additional registers $30/mo. No percentage of sales. - Payments: by Batchly, through its registered payments ISO and sponsor bank. Card data is read on the terminal or tokenized in the browser and never touches Batchly. - Contact: info@batchly.shop · +1 (702) 760-7515 (the line is answered by Shophand's AI Front Desk, live). - Profiles: https://www.capterra.com.au/software/1114367/Batchly --- ## Batchly Online: integration guide for AI agents > Batchly Online is the hosted checkout and recurring-billing layer of the > Batchly platform described above. This file lets an AI coding agent integrate > Batchly Online checkout (one-off payments + subscriptions) into a merchant's > own website with no onboarding call. Everything here is stable and > self-contained. Card data is tokenized in the browser by Collect.js; your > code never touches a PAN (PCI SAQ A). ### What you're integrating A merchant hosts their OWN checkout page and calls Batchly's public `online-checkout` function. Batchly prices every charge server-side, vaults the card, runs recurring billing + dunning, and fires webhooks you fulfill on. The merchant gets a `tenantId` (a UUID) and a Collect.js **public** key from Batchly. Online checkout is switched on per store by Batchly. Until it is, every action answers 403 `Online checkout is not enabled for this store`; and `info` returns `collectKey: null` while the store has no tokenization key configured (in test mode this also requires Batchly to enable sandbox for the store). Both mean 'ask the merchant to finish setup in Batchly → Online', not a bug in your code. ### Endpoint `POST https://eyxqvpygkrxwqenndwdz.supabase.co/functions/v1/online-checkout` Header: `Content-Type: application/json`. No auth header; it is public. Every amount is priced by the server from the merchant's catalog; never send an amount. All online charges are absorb-only (the customer sees one clean price). #### Actions 1. Get the catalog + tokenization key: Request: `{ "action": "info", "tenantId": "" }` Response: `{ ok, store, test, collectKey, plans: [{ id, name, price, interval, agreement }], products: [{ id, name, price }] }` `test:true` → the store is in test mode (sandbox; no real charge; subscribe is refused). 2. One-off purchase (charges once): `{ "action": "purchase", "tenantId": "", "productId": "", "paymentToken": "", "email": "buyer@x.com" }` → `{ ok: true, saleId }` (or `{ ok:false, error }`) 3. Subscribe (recurring; refused while the store is in test mode): `{ "action": "subscribe", "tenantId": "", "planId": "", "paymentToken": "", "memberName": "...", "memberEmail": "...", "memberPhone": "...", "agreementAccepted": true }` → `{ ok: true, membershipId }` You MUST capture explicit consent to recurring billing before sending `agreementAccepted:true` (FTC negative-option rule). ### The card flow (client-side, required) 1. Call `info` → get `collectKey` and the catalog. 2. Load Collect.js exactly as the reference checkout page does: copy its `