How do you run these checks, and what does a failed check actually cost you?
These ten checks are designed to be run by someone who knows their way around Acumatica or Cin7 and has export rights. You do not need a developer, you do not need a vendor, and you do not need permission from anyone. Most of them are a list screen, a filter and a sort.
The reason to run them before you shortlist a platform is that a failed check does not mean you cannot do B2B commerce. It means the cost and the sequence change. Dirty item descriptions push effort into content and delay launch. Prices living in spreadsheets rather than the ERP push effort into the ERP itself and can turn a commerce project into an ERP project. Duplicate customers cause the storefront to log a buyer into the wrong account, which is the single defect most likely to end a project’s credibility in its first week.
Score each check as pass, partial or fail, and keep the evidence. A vendor who sees an honest fail list will give you a better estimate than one working from a requirements document, and the checks map one for one onto what the Celeste diagnostic asks you.
Give yourself an afternoon and export to a spreadsheet rather than reading on screen. Sorting is where the problems appear.
Sample rather than boil the ocean: your top 200 selling items and your top 50 customers by revenue will show you almost everything.
Record a pass, partial or fail for each check, with a note on what you saw. That note is what a vendor needs.
Do not fix anything yet. Fixing before you know which subset phase one will publish is how data cleanup gets twice as expensive as it needs to be.
Checked against: Acumatica community 32415: Acumatica and Shopify integration issues, the class of problem these checks predict
Checks 1 to 3: could you publish your item data tomorrow?
Item data is where the most calendar time hides, because unlike an integration defect it cannot be fixed by anyone other than your own staff. Open your item list in Acumatica or your product list in Cin7 Core, export your top 200 selling items, and look at three columns.
The description check is the blunt one. Read twenty descriptions as though you were a customer who has never seen your catalogue. If they read like a picking slip, "BRKT ASSY 3/8 ZP", you have a content project in front of you, and its size is the number of items in phase one rather than the number of items in the ERP. That is the single most useful reason to narrow phase one before you start writing.
The identity check catches a problem that surfaces late and hurts. A commerce platform needs one stable key per sellable thing, and it will hold that key as a SKU. If your business refers to the same product by an Acumatica Inventory ID in the warehouse, an Alternate ID on the customer purchase order, and a manufacturer part number in the sales conversation, you have to decide which one is the SKU before anything syncs, and you have to decide what happens to the other two. Search on your storefront will need them all.
The attribute and image check tells you whether the ERP can be the source for the storefront at all. Acumatica holds attributes and web content, with character limits that bite on long marketing copy, and Cin7 Core carries a product image and limited additional fields. If the answer is that images live on a shared drive and specifications live in supplier PDFs, then either the storefront becomes the place that data lives, or you need a product information system between them, and that is an architecture decision with a cost attached rather than a data cleanup task.
| Criterion | What to look at | What good looks like | What it means if it is bad |
|---|---|---|---|
| 1. Item descriptions | Export the description field for your top 200 selling items and read twenty of them cold. | A buyer who has never seen your catalogue could tell what the product is and pick the right variant from the description alone. | You have a content project sized by the number of items in phase one. It is your staff’s time, it is on the critical path, and it is the commonest cause of a slipped launch date. |
| 2. Item identityIdentifiers that get reused when a product is superseded are worse than identifiers that are merely inconsistent, because the storefront will attach old order history to the wrong item. | For ten products, write down every identifier in use: Acumatica Inventory ID, Alternate ID, barcode, manufacturer part number, and whatever the sales desk actually says on the phone. | One identifier is unambiguous, stable, and already used by both the warehouse and the sales desk. That becomes the SKU. | You must rule on which identifier is the SKU and build cross-reference search for the others. Ambiguous identity also breaks reorder-from-history, which is the feature B2B buyers use most. |
| 3. Attributes and images | Pick five products a customer would filter on. Check whether the filterable attributes and a usable image exist in the ERP record. | Attributes are structured fields on the item, not sentences inside the description, and each phase one item has at least one image the ERP can hand over. | The storefront or a separate product information system becomes the source for product content, which is a real architecture decision. Acumatica’s attribute and web content character limits are worth checking before you assume the ERP can hold marketing copy. |
Checked against: Acumatica community 5165: item descriptions in two languages, on description field structure, Cin7 Core help: listing and updating products in Shopify, read 20 August 2026, Acumatica community 18873: Shopify supports only up to 3 product options on template item sync
Checks 4 and 5: do your prices actually live in the ERP, or in a spreadsheet?
This is the check that changes projects. A storefront can only show a customer their real price if something authoritative can produce that price on demand. If the authoritative version of a negotiated price is a spreadsheet a sales manager maintains and keys in manually at order entry, then the ERP does not hold your pricing, and no connector on the market can rescue that. The work is to get pricing into Acumatica or Cin7 first, and that is an ERP project sitting in front of your commerce project.
Run it concretely. Take your five largest customers, pick three items each of them buys regularly, and find the price in the ERP without asking anyone. If you can find all fifteen, and they match the last invoice, the ERP holds your pricing. If you find eight and somebody says "check with Dave", you have your answer.
The second check is about the shape rather than the location. Count how many of the four pricing layers you use: a list price, a A price class is a label on a customer account that decides which set of prices they see. Acumatica and most ERPs use price classes so a seller can maintain one price list for a whole tier of customers instead of one per account. rate, a customer-specific negotiated price, and volume breaks. Then check whether any of them carry effective and expiry dates. Layer count drives how much mapping the integration needs. Dating drives the architecture, because a dated price cannot be safely pushed to a platform price list on a schedule and left there; something has to make sure yesterday’s expired price is not still on the page this morning.
Cin7 users have a specific version of this check. Cin7 Core prices through price tiers, and there is a documented ceiling on how many tiers exist, so if your real pricing needs more distinct groups than tiers available, the gap has to be closed outside Cin7. Confirm your tier usage against the Cin7 help documentation before you design around it.
| Criterion | What to look at | What good looks like | What it means if it is bad |
|---|---|---|---|
| 4. Where the selling price livesThis is the check most likely to change your project sequence, and the one most likely to be quietly failed by companies who assume they pass it. | Five largest customers, three regularly bought items each. Find the correct current price in Acumatica or Cin7 without asking a person. | All fifteen prices are in the ERP and match the most recent invoice for that customer. | Your pricing is in spreadsheets and in people’s heads. Getting it into the ERP is a prerequisite project, not a phase of the commerce build, and it is worth doing regardless of whether you ever launch a storefront. |
| 5. The shape of the price | Count the pricing layers in use, then check whether any carry effective or expiry dates. In Acumatica, look at sales price worksheets and customer price classes. | A small number of layers, few or no dated prices, and prices that change on a predictable cycle. This is what a scheduled push to a platform price list is built for. | Many layers or dated prices means the effective price has to be requested from the ERP at the moment the page renders. That is a development project with caching and failure handling, and it belongs in the budget as such. |
Checked against: Acumatica community 17608: syncing the current effective sales price to Shopify, Acumatica community 11823: syncing prices from sales price worksheets to BigCommerce, Cin7 Core help: pricing and price tiers, read 20 August 2026, Cin7 Core help: using different prices for a customer, read 20 August 2026
Checks 6 and 7: can your customer master log a buyer in without getting it wrong?
A B2B storefront authenticates a person and then has to decide which account that person buys on behalf of. Everything downstream, price, entitlement, credit, shipping addresses and order history, hangs off that decision. A customer master with duplicates will get it wrong, and it will get it wrong for exactly the large accounts that have been with you longest and have been keyed in more than once.
The duplicate check is quick. Search your customer master for your top ten customers by revenue, one at a time, on a fragment of the name rather than the full name. Count the hits. Acquisitions, branch offices entered as separate customers, and the same company spelled with and without "Ltd" are the usual sources. Then check the same names in your email or contact fields, because Cin7 users have found that changing a customer email address can create a duplicate rather than update the existing record, which quietly builds the problem over time.
The structural check is different from the duplicate check and it is the one people skip. Ask whether your ERP models a customer as an organisation with several people attached, each of whom might have different rights, or as a single record with one contact. A A company account is a customer record that holds several people, each with their own login and their own permissions. One buyer might place orders, another might only approve them, a third might only look up past invoices. is what B2B commerce needs: a buyer who can order, a manager who can approve, a clerk who can only look up invoices. Acumatica handles this through customer and contact records, and Shopify B2B expresses it as companies and company locations, so the mapping between the two is a real design decision. If your ERP holds one contact per customer and the real buying organisation has six people, the storefront becomes the place that structure lives, and you should decide that deliberately.
While you are in there, check credit. Does the ERP hold a current credit limit and payment terms for each account, and is the limit maintained rather than set once in 2019 and never revisited? A storefront that enforces a stale credit limit will block good orders, and one that ignores credit entirely will accept orders your finance team then has to unwind.
| Criterion | What to look at | What good looks like | What it means if it is bad |
|---|---|---|---|
| 6. Duplicate customer recordsThis is the defect most likely to end a storefront’s credibility in its first week, because the customer who sees it is by definition one of your largest. | Search your top ten customers by revenue on a name fragment. Count the records returned. Repeat on email address. | One record per real buying organisation, with branches modelled as locations or ship-to addresses rather than as separate customers. | The storefront can log a buyer into the wrong account and show them the wrong contract price. Merging customer records with transaction history is slow, and it has to happen before launch rather than after. |
| 7. Company structure and credit | Pick a customer with more than one person who orders. Check whether the ERP models them as one organisation with several contacts, and whether a current credit limit and payment terms are on the record. | One customer record, several contacts, a maintained credit limit, and payment terms that reflect the current agreement. | Buyer roles and approvals have to be modelled in the storefront, and the two systems now disagree about who a customer is. Stale credit limits mean the storefront blocks orders it should take. |
Checked against: Cin7 Core help: customer email change creating a duplicate record, and customer sync behaviour, read 20 August 2026, Shopify Help Centre: companies and company locations in B2B, read 20 August 2026, Acumatica community 24685: BigCommerce B2B customer syncing issues
Checks 8 and 9: is your stock number real, and is your unit of measure consistent?
A single company-wide stock number is a promise your business cannot keep. If a customer in Calgary sees 400 units and 380 of them are in a warehouse that never ships to Calgary, you have taught that customer not to trust the site. Getting availability right is usually what decides whether your own sales team uses the storefront or works around it.
The availability check has two parts. First, does the ERP hold stock at the warehouse level and can it produce a per-warehouse figure on demand? Acumatica and Cin7 both do. Second, and this is the part people miss, does the number you would publish account for what is already committed? Acumatica users have reported unassigned commitments producing an availability figure that does not reflect what is actually sellable, and a storefront that publishes on-hand rather than available-to-promise will oversell during your busiest week.
The unit of measure check is smaller to run and expensive to get wrong. Look at ten items where the customer buys in a different unit from the one you stock in, a case against an each, a box against a metre. Confirm the conversion factor is on the item in the ERP and that the sales unit and base unit are set the way you think. Acumatica users have filed unit of measure mismatches against both the Shopify and BigCommerce connectors, and the failure mode is not an error message. It is a price on the page that is wrong by exactly the conversion factor, which nobody notices until a customer orders a pallet at the each price.
| Criterion | What to look at | What good looks like | What it means if it is bad |
|---|---|---|---|
| 8. Warehouse-level availabilityMulti-warehouse availability is showing a buyer what is in stock for them specifically, based on which warehouse or warehouses can actually serve their order, rather than a single company-wide total. is where per-account rules and per-warehouse stock meet, and it is consistently underestimated in scope. | Pick one item stocked in more than one warehouse. Produce the sellable quantity per warehouse, net of what is already committed to open orders. | A per-warehouse available-to-promise figure the operations team would stand behind, and a rule for which warehouses serve which customers. | Either you publish a single aggregate number and oversell, or you publish nothing and buyers phone to check stock, which is the work the storefront was supposed to remove. Committed quantity handling in Acumatica is worth verifying specifically. |
| 9. Unit of measure consistency | Ten items where the sales unit differs from the base unit. Confirm the conversion factor exists on the item and the sales unit is set correctly. | Every sellable unit has a conversion to the base unit, and the price on the item is unambiguous about which unit it applies to. | Prices on the storefront will be wrong by the conversion factor, silently. This produces no error and is usually found by a customer rather than by testing. Unit of measure conversion is the rule that says one case equals twenty-four eaches, so a customer can buy in the unit that suits them while stock is counted in the unit that suits the warehouse. has to be handled explicitly in the integration. |
Checked against: Acumatica community 12444: Shopify sales unit and base unit, Acumatica community 6697: BigCommerce sales price sync with the wrong unit of measure, Acumatica community 6261: product availability when warehouse location mapping changes, Cin7 Core help: stock levels in Shopify, read 20 August 2026
Check 10: are your tax rules in the ERP, or at the order desk?
Tax is the check people leave until last and then discover is architectural. The question is simple to ask and revealing to answer: when a new order is entered today, what decides the tax, and could a computer reproduce that decision without a person present?
There are three answers and they lead to different projects. If tax is calculated by Acumatica or Cin7 from rules held in the ERP, including customer tax zones and exemption certificates, the storefront can defer to the ERP or replicate the rules with confidence. If tax is calculated by Avalara or a similar service that both systems can call, you have a clean answer and one thing to settle, which is which system calls it and which system wins when the numbers differ. If tax is decided by a person at the order desk who knows which customers are exempt, then the rule exists nowhere a storefront can read it, and writing it down is a prerequisite.
The specific trap on Acumatica is worth naming because it produces a real reconciliation problem. When an order arrives from a storefront or a marketplace with tax already calculated, Acumatica may recalculate that tax on its own rules, and the two figures will not always match. Acumatica users have documented both how to prevent that recalculation and a separate case where the Avalara integration calculates tax for marketplace orders that should not be taxed there. Neither is exotic and both need a deliberate decision on which system is authoritative for tax before you go live, not after your controller finds a variance.
Exemption certificates are the last piece. In B2B a meaningful share of orders are tax exempt, and the certificate has an expiry date. If certificate status lives in a filing cabinet rather than on the customer record, the storefront will charge tax to exempt customers, who will phone, or will not charge tax to customers whose certificates have lapsed, which is worse.
| Criterion | What to look at | What good looks like | What it means if it is bad |
|---|---|---|---|
| 10. Tax rules and exemptions | Ask what decides tax on a new order today. Then check whether exemption status and certificate expiry are fields on the customer record. | Tax comes from rules in the ERP or from a service both systems can call, and exemption status with an expiry date is on the customer record. | The rule lives with a person. It has to be written down before a storefront can enforce it, and on Acumatica you also need an explicit decision about whether the ERP recalculates tax on imported orders. |
Checked against: Acumatica community 12996: preventing Acumatica recalculating tax on orders imported from BigCommerce, Shopify and marketplaces, Acumatica community 28269: Avalara integration calculating tax for marketplace orders, Acumatica community 4296: Shopify and Acumatica sales tax rounding with Avalara AvaTax
The wider picture
This page answers one narrow question. Acro Commerce covers the strategy around it.
Common questions
- Which of these ten checks matters most?
- Check four, where your selling prices actually live. If the authoritative version of a negotiated price is a spreadsheet rather than a record in Acumatica or Cin7, no commerce platform and no connector can show a customer their real price, and the work to fix it is an ERP project that sits in front of the commerce project. Every other failed check makes the commerce project bigger. This one changes its sequence.
- Do we have to pass every check before we start?
- No. A failed check tells you what the project costs and in what order to do things, not whether you can proceed. Dirty item descriptions are a content workstream you can shrink by narrowing what phase one publishes. Duplicate customer records genuinely do have to be resolved before launch, because logging a buyer into the wrong account shows them another company’s contract price. Everything else is a matter of budget and sequence.
- Can our ERP VAR run these checks for us?
- A VAR can run all ten and will usually do it faster than you will, because they know where the data is. Two of the checks need someone from your side regardless: deciding which identifier becomes the SKU, and deciding which duplicate customer record is the real account. Those are business rulings rather than ERP queries. Run the checks with the VAR, keep the rulings with you.
- Is Cin7 ready for B2B ecommerce out of the box?
- Cin7 Core handles items, stock and orders well and integrates with Shopify and BigCommerce, and the readiness question for Cin7 is usually pricing shape rather than data hygiene. Cin7 Core prices through price tiers with a documented ceiling on how many exist, so if your real pricing needs more distinct customer groups than tiers available, the gap has to be closed outside Cin7 with a storefront-side price model or middleware. Run check five carefully if you are on Cin7.
- How long does it take to fix a failed check?
- It depends on which one and on how much of your catalogue phase one publishes, which is exactly why the scoping decision comes before the cleanup. Item descriptions scale with the number of items you launch with, so narrowing the range shrinks the work proportionally. Customer master deduplication scales with how many merges have transaction history attached and does not shrink with scope. Unit of measure conversions are usually a small, bounded fix once you know which items are affected.
- What does an available-to-promise number need to account for?
- On-hand quantity at the specific warehouse, minus quantity already committed to open orders, plus any incoming stock you are willing to sell against. Publishing on-hand without netting off commitments is the standard way a B2B storefront oversells in a busy week. Acumatica users have reported unassigned commitments producing availability figures that overstate what is really sellable, so verify the number your integration would publish against what your operations team would actually promise.
Last updated 2026-08-20. Facts on this page last checked against source 2026-08-20.
