Instead of Opmetrix
Opmetrix charges by the rep to look at your own round. Keep the round.
Field Sales for Claude Code is an open-source field sales and merchandising system that is just Postgres and Claude Code. Call cycles, shelf and planogram checks, promotion compliance, orders written in store and credits, asked for in plain language. No seats, no tiers, no add-ons.
What you are paying for
Most of an Opmetrix bill is the front end
The outlets, the call cycles and the order history are yours. The app around them is what you rent, and the rent is set per person, per month, before the project fee to set it up.
A seat for everyone in the field
Every rep, merchandiser, telesales person and manager is a monthly seat, whether they are in store five days a week or two.
The connector to your ERP
The link into MYOB, Xero or NetSuite is the vendor's to build and maintain, and it is why a disabled product can take an hour or two to disappear from the app.
Implementation and configuration
The customer list, the product list, the price rules and the in-store forms are a project priced before the subscription starts.
Reports you asked for and did not get
Reporting is the first thing users complain about. A distribution report by category is a support ticket, not a filter you can build.
Pricing rules that only bend so far
Discount structures handle one customer and product category combination. The way you actually price ends up in a spreadsheet beside the app.
Admin instead of selling
Keeping the customer and product lists tidy by hand, rescheduling calls in the journey planner, chasing sync conflicts on import.
What you get instead
A field sales system you talk to
The round
Call cycles, coverage and a rep week
Every outlet carries its own cycle. One command shows who is due, who is late, and what each late call is worth, in the sequence you drive.
- check Every outlet on its own cycle, with days late and ninety day value beside it
- check Coverage as one number: the share of the estate not past its cycle
- check Calls, strike rate, average order and minutes per call, per rep, against target
- check Move four outlets between two reps and see what happens to both before you tell anyone
In store
Shelf, planogram and promotion compliance
Facings, shelf prices, empty shelves and promotion checks are rows you can question, not photos in a folder nobody opens.
- check Facings, shelf price, empty shelf and off planogram, per outlet and per line
- check Promotion compliance: display up, ticket up, price correct, and who has never been checked
- check The shelf price of every line across the estate, so you can see who is pricing you out
- check Which promotions lifted sales only in the stores that ticketed them correctly
Orders and credits
Written in store, handed to the ERP, credited properly
Orders come out at the price list the outlet is on. Credits cannot skip the authorisation step, and batch tracked lines cannot skip the batch code.
- check Orders in cases at the outlet price list, with the live promotion picked up on the line
- check One command writes the ERP CSV and marks the batch exported
- check Credits with the authorisation step enforced and batch codes required on tracked lines
- check Every batch you have credited, with outlets and dates, in one query the day a recall notice lands
Yours
Your Postgres, your rules, your name on the paperwork
Plain tables you own, a compliance rule book you can edit, and documents that come out with your logo on them.
- check Import your Opmetrix, Perenso or Skynamo export in one command, matched on customer code
- check /compliance checks the records against pricing law, the Grocery Supply Code and batch traceability, each rule citing its source
- check npm run docs puts your brand on visit summaries, rep weekly reports and order confirmations
- check Add a field, a rule or a whole command by describing it. MIT licence, no vendor to leave.
What it looks like
Real commands, real answers
Three runs on the demo data that ships with Field Sales for Claude Code. Type the command in Claude Code, or ask for it in your own words.
Call cycle (18 outlets, 5 past due) =================================== Code Outlet Rep Every Day Last call Due Late Value 90d ------ ------------------------- ------------- ----- --- ---------- ---------- ----- --------- KM-205 Bay Cafe Supply Co Dev Patel 14d Thu 2026-08-12 2026-08-26 19d $0 KM-303 Woolworths Johnsonville Sarah Coombes 7d Wed 2026-08-20 2026-08-27 18d $13,926 KM-105 Unichem Browns Bay Mike Ellis 28d Thu 2026-08-04 2026-09-01 13d $2,961 KM-202 Pak n Save Rotorua Dev Patel 7d Tue 2026-08-29 2026-09-05 9d $13,639 KM-102 Pak n Save Albany Aroha Ngata 7d Tue 2026-09-02 2026-09-09 5d $12,941 KM-207 Woolworths Greerton Dev Patel 7d Thu 2026-09-07 2026-09-14 today $14,204 KM-109 Woolworths Glenfield Aroha Ngata 7d Wed 2026-09-08 2026-09-15 in 1d $15,366 KM-103 Woolworths Takapuna Aroha Ngata 7d Wed 2026-09-09 2026-09-16 in 2d $15,051 KM-304 New World Karori Sarah Coombes 7d Thu 2026-09-09 2026-09-16 in 2d $13,312 KM-111 Fresh Choice Mairangi Bay Mike Ellis 14d Fri 2026-09-02 2026-09-16 in 2d $7,450 KM-201 New World Hamilton East Dev Patel 7d Mon 2026-09-10 2026-09-17 in 3d $17,449 KM-203 Night n Day Tauranga Dev Patel 14d Wed 2026-09-03 2026-09-17 in 3d $3,556 KM-101 New World Milford Aroha Ngata 7d Tue 2026-09-11 2026-09-18 in 4d $14,112 KM-305 Commonsense Wellington Sarah Coombes 14d Fri 2026-09-04 2026-09-18 in 4d $7,735 KM-301 New World Thorndon Sarah Coombes 7d Mon 2026-09-12 2026-09-19 in 5d $16,911 KM-104 Four Square Devonport Mike Ellis 14d Thu 2026-09-05 2026-09-19 in 5d $7,780 KM-302 Moore Wilsons Wellington Sarah Coombes 14d Tue 2026-09-06 2026-09-20 in 6d $6,921 KM-108 New World Long Bay Aroha Ngata 7d Mon 2026-09-13 2026-09-20 in 6d $16,821
Needs attention (45) ==================== Promotion wrong in store: 15 | Credit waiting on authorisation: 2 | Order not in the ERP: 1 | Call overdue: 5 | Outlet has gone quiet: 1 | Out of stock on shelf: 21 What Record Outlet Rep Days Value Detail ------------------------------ -------------------------- ------------------------- ------------- ---- ------ --------------------------------------- Promotion wrong in store Spring crackers 2 for $5 Woolworths Glenfield Aroha Ngata 13 no display, ticket missing, price wrong Promotion wrong in store Spring crackers 2 for $5 Fresh Choice Mairangi Bay Mike Ellis 12 display up, ticket missing, price wrong Promotion wrong in store Spring crackers 2 for $5 Woolworths Takapuna Aroha Ngata 12 display up, ticket missing, price wrong Promotion wrong in store Spring crackers 2 for $5 New World Milford Aroha Ngata 10 display up, ticket missing, price wrong Promotion wrong in store Spring crackers 2 for $5 New World Long Bay Aroha Ngata 8 no display, ticket up, price right Promotion wrong in store Spring crackers 2 for $5 Farro Fresh Orewa Aroha Ngata 6 display up, ticket up, price wrong Promotion wrong in store Southern Roast 1kg at $... Farro Fresh Orewa Aroha Ngata 6 display up, ticket up, price wrong Promotion wrong in store Spring crackers 2 for $5 New World Karori Sarah Coombes 5 display up, ticket up, price wrong Promotion wrong in store Spring crackers 2 for $5 New World Te Awamutu Dev Patel 5 display up, ticket up, price wrong Promotion wrong in store Southern Roast 1kg at $... New World Te Awamutu Dev Patel 5 display up, ticket up, price wrong Promotion wrong in store Southern Roast 1kg at $... New World Karori Sarah Coombes 5 display up, ticket up, price wrong Promotion wrong in store Southern Roast 1kg at $... New World Hamilton East Dev Patel 4 display up, ticket missing, price wrong Promotion wrong in store Spring crackers 2 for $5 New World Hamilton East Dev Patel 4 display up, ticket missing, price wrong Promotion wrong in store Southern Roast 1kg at $... New World Milford Aroha Ngata 3 no display, ticket up, price right Promotion wrong in store Spring crackers 2 for $5 New World Milford Aroha Ngata 3 no display, ticket up, price right Credit waiting on authorisa... RET-1041 Woolworths Takapuna Aroha Ngata 9 $500 damaged, requested 2026-09-05 Credit waiting on authorisa... RET-1044 Bay Cafe Supply Co Dev Patel 4 $218 overstock, requested 2026-09-10 Order not in the ERP SO-260913-108 New World Long Bay Aroha Ngata 1 $1,191 14 cases, submitted 2026-09-13
Promotion compliance ==================== Code Promotion Ends Checks Outlets Display up Price ok Breaches ---------- ---------------------------- ---------- ------ ------- ---------- -------- -------- ---------- ROAST-1KG Southern Roast 1kg at $19.99 2026-10-05 11 11 91% 64% 4 ######.... SPRING-CRK Spring crackers 2 for $5 2026-09-28 24 16 88% 67% 8 #######... What is wrong in store, last 28 days ==================================== Date Promo Outlet Rep Display Ticket Ticket Should be Note ---------- ---------- ------------------------- ------------- ------- ------- ------ --------- ---------------------------------- 2026-09-11 ROAST-1KG New World Milford Aroha Ngata MISSING up $19.99 $19.99 2026-09-11 SPRING-CRK New World Milford Aroha Ngata MISSING up $5.00 $5.00 2026-09-10 SPRING-CRK New World Hamilton East Dev Patel up MISSING $5.00 No promotion ticket on the shel... 2026-09-10 ROAST-1KG New World Hamilton East Dev Patel up MISSING $19.99 No promotion ticket on the shel... 2026-09-09 SPRING-CRK New World Te Awamutu Dev Patel up up $5.78 $5.00 Shelf ticket still shows the ev... 2026-09-09 ROAST-1KG New World Te Awamutu Dev Patel up up $24.50 $19.99 Shelf ticket still shows the ev... 2026-09-09 ROAST-1KG New World Karori Sarah Coombes up up $24.50 $19.99 Shelf ticket still shows the ev... 2026-09-09 SPRING-CRK New World Karori Sarah Coombes up up $5.78 $5.00 Shelf ticket still shows the ev... 2026-09-08 ROAST-1KG Farro Fresh Orewa Aroha Ngata up up $24.50 $19.99 Shelf ticket still shows the ev... 2026-09-08 SPRING-CRK Farro Fresh Orewa Aroha Ngata up up $5.78 $5.00 Shelf ticket still shows the ev... 2026-09-06 SPRING-CRK New World Long Bay Aroha Ngata MISSING up $5.00 $5.00 2026-09-04 SPRING-CRK New World Milford Aroha Ngata up MISSING $5.00 No promotion ticket on the shel... 2026-09-02 SPRING-CRK Woolworths Takapuna Aroha Ngata up MISSING $5.00 No promotion ticket on the shel... 2026-09-02 SPRING-CRK Fresh Choice Mairangi Bay Mike Ellis up MISSING $5.00 No promotion ticket on the shel...
Ask it anything
Questions Opmetrix cannot answer
Every one of these is a real question the demo answers today. Yours will be different, and that is the point.
Honest trade-offs
What you give up
- remove_circle A phone app in the aisle. A rep works from a laptop between calls, or from the Claude app reading an export. If your team keys orders at the shelf with no signal, keep the app you have.
- remove_circle Photos taken in store, and a map. There is no camera and no drag-and-drop route. The shelf check holds a file reference, and the images stay where your team already puts them.
- remove_circle Live stock at the shelf, and a vendor help desk. Availability is an ERP feed and it stays an ERP job. The repo is open source, and Enterprise DNA supports the installed version.
Two ways to run it
Run it yourself, or have it run for you
Open source
Run it yourself
Free
- 1 Clone the repo
- 2 npm run demo, then open the folder in Claude Code
- 3 Type /call-cycle
- 4 Import your Opmetrix export and point it at your own Postgres
Omni by Enterprise DNA
Have Enterprise DNA install it
One setup fee, then a monthly retainer
- check We migrate your Opmetrix outlets, contacts, call cycles and order history
- check We connect your ERP so orders go out and price lists come in
- check We write the commands and the compliance rules for your category
- check It runs inside Omni, our managed Command Center, with the rest of your business
Questions
Instead of Opmetrix, answered
My reps live on a phone in a chiller aisle. Does this work? expand_more
Not the way the app does, and we will not pretend otherwise. There is no offline phone app. Today a rep runs it from a laptop between calls, which is how a lot of teams already write the day up, or reads an export in the Claude app. If your team must key an order at the shelf with no signal, keep the app for the reps and use this for the reporting, the compliance and the management side. That alone takes seats off the bill.
What happens to five years of order history? expand_more
It comes with you. Export customers, contacts and the order history report from Opmetrix HQ as CSV, run one import command, and outlets, contacts, reps, territories, call cycles, orders and order lines land in your own Postgres. Run it with --dry-run first and it tells you what it would create before it writes anything.
How does an order get to our ERP? expand_more
One command writes every submitted order to a CSV and marks the batch exported. You feed that to MYOB, Xero, NetSuite or whatever sits behind you, the same way you do now. Nothing is sent from the repo on its own. If you want the connection automated, that is part of what the installed version does.
Who keeps the compliance rules up to date? expand_more
You do, and the file makes that easy. docs/compliance.md holds six rules with their sources: promotional pricing under the Fair Trading Act, was prices, promotion funding under the Grocery Supply Code, batch traceability under the Food Act, credit note authorisation, and record retention. Each one has the SQL that finds a breach. Change a rule and the check changes with it. It is not legal advice, it is your rule book pointed at your data.
What does the installed version add? expand_more
Installation, the migration off Opmetrix, the ERP connection, commands written for your category and your trading terms, the compliance rules checked against your own agreements, and someone to call. It runs alongside everything else Enterprise DNA runs for you.
Stop paying by the rep to look at your own call cycle
30 minutes with Sam. We look at what you pay Opmetrix for, what your field team actually uses, and what the installed version would look like for you. If it is a fit, we install it. If it is not, take the repo and run it yourself.
Field Sales for Claude Code is MIT licensed and published by Enterprise DNA at github.com/Enterprise-DNA-OS/field-sales-for-claude-code.