What Makes Acceptance Criteria Buildable for Trade Portals
Stop writing requirements that only make sense to you — and start writing ones a developer can ship against.
What You Need to Know
Acceptance criteria for an importer or exporter portal should specify exact data states, user roles, error conditions and business rules — not intentions. Each criterion must be testable by a QA engineer without needing to ask you a follow-up question. Criteria that say 'the system should handle customs data' are not criteria; they are wishes.
At a Glance
- Keyword intent
- Operators scoping or commissioning a trade portal
- Typical project context
- Importer/exporter replacing email+spreadsheet workflows with a structured portal
- Most common gap
- Criteria describe screens, not outcomes or error states
- Who writes criteria
- Product owner or ops lead, validated by the dev studio before build
- Series
- Scope & Ship
Best For
- ✓Operators and founders scoping a trade or logistics portal
- ✓Importers or exporters briefing a custom software studio
- ✓Product owners reviewing a stalled or misscoped build
Not For
- ×Consumer app developers
- ×Teams already mid-build with a working spec
- ×Businesses looking for off-the-shelf customs software
Key Takeaways
- ✓ Acceptance criteria must describe a testable condition — not a feature wish or a business goal.
- ✓ Role clarity is the single most common gap: who does what, under which conditions, and what happens when it goes wrong.
- ✓ Each criterion should pass the 'QA cold-read' test: a tester who has never met you can confirm pass or fail without a follow-up question.
- ✓ AI-assisted scoping tools can draft an initial criterion set from a process description, but a domain expert still needs to validate the business rules.
- ✓ Portals that touch customs, duty deferment or compliance rules need criteria written at the field level, not the screen level.
Three weeks into a portal build, a developer will ask you a question you thought you already answered. That question is almost always about what happens when something goes wrong — a missing commodity code, a user with the wrong permissions, a shipment record that's half-complete. If your acceptance criteria don't say, the answer gets invented in code, and you find out at UAT.
This is the defining failure mode for importer and exporter portals: the spec describes the happy path in reasonable detail, and says almost nothing about the conditions that actually govern whether a shipment clears or stalls. A portal that touches customs data, duty deferment accounts, or compliance documentation has a long tail of edge cases. Every one of them is a build decision. If your criteria don't make those decisions, someone else will.
What 'acceptance criteria' actually means in this context
Acceptance criteria are the conditions a feature must meet before it's marked done. Not the feature description. Not the design brief. The specific, testable conditions.
The test that matters is what you might call the QA cold-read: hand your criterion to a tester who has never met you and never heard of your business. Can they confirm pass or fail without asking a single follow-up question? If the answer is no, the criterion isn't a criterion. It's a note to self.
'The portal should handle partial shipment records' fails the cold-read immediately. What does 'handle' mean? What constitutes partial? What happens next — does the record save, does it warn, does it block export?
'If a shipment record is saved without a commodity code, it enters Draft status and is excluded from all compliance exports until the code is added' passes. A tester can open the app, remove a commodity code, save the record, check its status, and run an export. Done.
The gap between those two sentences is where most portal projects spend their time in rework.
The four things every criterion needs
For a trade portal specifically — where data integrity has real compliance consequences — each criterion should nail four things:
1. The triggering condition. What state must the system or user be in for this criterion to apply? 'When a Logistics Admin clicks Approve on a shipment in Pending Review status…' is a condition. 'When approving a shipment…' is not — it leaves role and status undefined.
2. The expected system response. What does the system do? Not what the user sees — what the system actually does. 'The shipment status changes to Approved, a timestamp is written to the audit log, and a notification email is sent to the shipper's registered address.' That's a system response. 'The shipment is approved' is not.
3. The error or failure state. What happens when the condition can't be met? This is the most skipped part of trade portal specs, and the most expensive omission. What if the commodity code lookup times out? What if the duty deferment number is invalid? What if two users try to approve the same record simultaneously? These are not hypotheticals — they're daily occurrences in live logistics environments.
4. The role boundary. Who can do this, and who explicitly cannot? Multi-tenant portals — where an importer's team, a freight forwarder, and a customs broker might all have logins — are particularly prone to role-bleed. 'Admin can manage users' is not a role boundary. 'A Company Admin can invite, deactivate and reassign users within their own company account and cannot view shipments or users belonging to any other company' is.
Where trade portal criteria most often break down
Having worked through briefs for B2B ops portals, the same gaps appear in almost every first draft.
Screen-level thinking. The brief describes what a page looks like, not what it must do. 'The dashboard shows pending shipments' is a UI note, not a criterion. How are pending shipments defined? Which user roles see which shipments? What happens if there are none? Criteria should describe outcomes and rules, not layouts.
Missing commodity and compliance fields. A brief might say 'the portal supports customs documentation' and leave it there. But HS codes, country of origin, duty deferment account numbers, and incoterms all have specific validation rules that need to be written out. 'HS code must be 6–10 digits and validated against the UK Global Tariff lookup at submission' is a criterion. 'Customs fields are included' is not.
No definition of 'complete'. Shipment records in live trade environments are rarely completed in one sitting. The spec needs to say what a Draft record can and cannot do — whether it can be submitted, exported, or shared with third parties in that state. If the portal blocks export on incomplete records, that logic needs to be in the criteria, not discovered during UAT.
Assuming the integration just works. Portals that connect to carrier APIs, HMRC systems, or freight management platforms need criteria that cover what happens when those connections fail or return unexpected data. 'The portal integrates with [API]' is a milestone, not a criterion. 'If the carrier API returns a timeout, the system displays an inline error and queues the request for retry, logging the failure with timestamp and payload' is a criterion.
How AI-assisted scoping fits in
One practical shift that's changed how product studios approach this: using an AI tool to draft an initial criterion set from a plain-English process description.
You describe the workflow — say, a freight forwarder submitting a pre-arrival notification on behalf of an importer, with the importer's ops team reviewing before it goes to HMRC — and the tool generates a first-pass criterion list covering the obvious states, roles, and error conditions. It won't know your specific business rules, but it will surface the questions you hadn't thought to answer: what happens if the ops team reviewer is on leave? Can anyone else approve, or does it queue? Is there an escalation timer?
This is the value AI brings to scoping right now — not writing the final spec, but making sure the blank spaces in your thinking become visible before a developer hits them at sprint two. The human with domain knowledge still has to answer those questions. But finding them early is worth real money on a fixed-price build. If you want to understand how a studio should use that scoping process, What Your Discovery Phase Should Actually Deliver is worth reading before you book a call.
Getting to a brief a studio can build from
Once your criteria are drafted, the practical filter before handing to a studio is simple: go through each one and ask whether a QA engineer could test it in isolation, with no additional context, and return a clear pass or fail.
Any criterion that needs a verbal explanation to make sense goes back into rewrite. Any criterion that describes a screen rather than a rule gets split into the actual system behaviour it implies. Any criterion that says 'the system should handle X' without defining what handling means gets a specific response, a specific error state, and a specific role attached to it.
That process is slower than writing a feature list. It's also the difference between a portal that passes UAT in week eight and one that's still in rework in week fourteen. Studios that do fixed-price contracts — and that question is worth reading through before you sign anything — Fixed Price vs Time and Materials: Which Contract Wins? — need this level of specificity to hold price without building risk into their margin. Studios doing time-and-materials builds need it to avoid billing you for the discovery they should have done before code started.
Either way, the brief is your asset. A well-written criterion set is also what you take with you if you ever need to move studios — which is a practical consideration worth building in from day one. Five Questions That Separate Good Dev Studios from Expensive Ones covers what to ask before you hand over a brief at all.
If you're about to scope a trade portal and you're not sure your criteria are at the right level of detail, the fastest check is this: pick your most complex workflow — the one with the most conditional logic, the most user roles, the most third-party dependencies — and write its acceptance criteria out in full. If you run out of things to say before you've covered the error states, you're not done yet.
Useful tool
Try Samvara's Incoterms Chooser — Pick a practical Incoterm.
Key Terms
Acceptance criterion
A specific, testable condition that a feature or user story must satisfy before it can be marked complete. Must be verifiable by a tester without additional context.
QA cold-read test
An informal check: can a tester who has never heard of your business confirm pass or fail on this criterion, with no follow-up questions? If not, the criterion needs rewriting.
Role-bleed
A multi-tenant portal defect where a user can view or act on data belonging to another company or role level, usually caused by underspecified role boundaries in the original acceptance criteria.
Quick Comparison
| Criterion type | Example (weak) | Example (buildable) | Why it matters |
|---|---|---|---|
| Data state | User uploads a document | When a user uploads a file >10 MB or not .pdf/.xlsx, the system rejects it with an inline error naming the constraint | Prevents scope creep in error handling |
| Business rule | System handles duty deferment | If duty deferment account number is missing at submission, the form blocks progress and flags the field in red with the text 'Deferment account required' | Defines the exact enforcement logic |
| Role boundary | Admin can manage users | A Logistics Admin can invite, deactivate and reassign users within their own company account; they cannot view another company's shipments | Stops role-bleed bugs in multi-tenant portals |
| Edge case | System copes with partial data | If a shipment record is saved without a commodity code, it enters 'Draft' status and is excluded from all compliance summary exports until the code is added | Makes incomplete-data flows explicit |
Frequently Asked Questions
What are acceptance criteria for a B2B portal?
Acceptance criteria are the specific, testable conditions a feature must meet before it's marked done. For a trade portal, each criterion should define the triggering condition, the expected system response, what happens on error or failure, and which user roles can perform the action.
How detailed do acceptance criteria need to be for a customs or trade portal?
Detailed enough that a QA engineer who has never met you can confirm pass or fail without asking a follow-up question. For trade portals, this usually means writing at the field level — specifying validation rules, status transitions, error messages, and role permissions explicitly rather than referencing screens or general intentions.
Who writes acceptance criteria for a software portal project?
Typically the product owner or ops lead on the client side, reviewed and pressure-tested by the development studio before build begins. The studio should flag any criterion that requires a verbal explanation or leaves system behaviour undefined — that's a signal to rewrite, not to proceed.
What's the most common mistake in trade portal specs?
Screen-level thinking — describing what a page looks like rather than what the system must do. A dashboard showing pending shipments is a UI note. Which shipments qualify as pending, which roles see them, and what the system does if there are none are acceptance criteria.
Can AI help write acceptance criteria for an importer or exporter portal?
AI tools can generate a useful first-pass criterion list from a plain-English process description, surfacing gaps and edge cases you hadn't considered. But the domain-specific business rules — duty deferment logic, HS code validation, role boundaries — still need to be answered by someone who knows your operation.
Bottom line
Write your acceptance criteria at the field level, not the screen level, and apply the QA cold-read test to every single one before you send them to a studio. If a criterion needs you in the room to make sense, it isn't finished. Get the error states and role boundaries locked before discovery starts — not after the first sprint review.
How Samvara researches this guide
We write for exhibition organisers and import/export operators in the UK and Australia. Guides favour specific, verifiable operational advice over generic tips — grounded in systems we have shipped, client workflows, and current industry practice. We revisit articles as tooling and regulations change.
Written by
Shreyansh Doshi, Founder of Samvara
Shreyansh Doshi is the founder of Samvara Technologies, a product studio building operator software and SaaS products for exhibition, import/export, travel and fitness businesses in the UK and Australia. He writes about product delivery, operations systems, and where AI does and does not belong in a real workflow.
Keep Reading
More in Scope & Ship