Frequently Asked Questions

Answers to common questions about how Jaomai works, grouped by area.

Back to Help Center

Capture

Quick-capture inbox and AI assist

The capture inbox is for "capture first, classify later": during the market walk, the agent takes a photo and a voice note of a supplier or product and keeps walking. Later — back at the hotel, or in the office — they process each item to turn it into a fully-filled supplier or product.

Frequently asked questions

What is the capture inbox for?

To avoid breaking the flow of the market walk. Instead of stopping to fill the full form at every shop, the agent opens the container's inbox, takes a photo, optionally adds a voice note, marks whether it's a supplier or a product, and keeps going. Classification and completion happen later.

How is an inbox item processed?

Each item has a Process action:

  • If it's a supplier: the system opens the supplier form pre-filled with whatever data is available (business-card photo, OCR if enabled).
  • If it's a product: opens the product form, optionally pre-filled with AI suggestions if enabled.

Once saved, the item is marked solved and linked to the supplier or product that was created.

Can I capture quote requests from the inbox?

Yes — that's a separate kind of item. Only admins create them, from a quotation container — see the quotations FAQ for the full flow.

Is AI active in production?

Right now, no. There are two AI features and both are off in production until we decide to absorb their cost:

  • Image recognition: product image analysis to suggest description, dimensions, price, etc.
  • Text recognition: OCR on supplier business cards to extract name, address, contact.

The capture inbox itself works without AI — only the auto-suggestions don't appear.

How are they enabled?

From the app's feature-configuration page (superadmin only). Once enabled, suggestions appear in the processing view for newly-captured items.

If I enable AI, does it apply to existing inbox items?

Not automatically. AI runs when an item is first uploaded. To run analysis on an already-captured item, there's a Re-analyse button in the processing view — but it only appears if image recognition is on.

Are voice notes transcribed?

Not yet. They're kept as audio attachments and the agent listens to them while processing the item. Automatic audio-to-text transcription is a future enhancement.

Who sees a container's inbox?

The organisation's admin and the agent assigned to that container. End customers don't see the inbox, not even of containers where they have a shipping mark.

Available since: 2026-03-21

Customers

Shared links for customers

The end customer reviews their part of a container without having to create an account: the agent sends them a unique link (via WhatsApp, email, whatever), and from there they see their products, can request changes and follow the back-and-forth with the agent. Data isolation is guaranteed: they only see what's assigned to them by shipping mark.

🎥 Video walkthrough (Spanish audio): https://jaomai.store/videos/customer_changes_es.mp4

Frequently asked questions

From the container view, in the Shared links section, click "Create link" and pick the customer. The system generates a unique (non-guessable) URL with a configurable expiry. You send it via whatever channel you prefer.

Only the products in the container that are assigned to a shipping mark of their company. They don't see other customers' products, nor container totals that don't belong to them. The page is public (no login required) but content is scoped to the customer of the link.

Can the customer request changes from there?

Yes. On each product they can change the status to Confirmed or Cancelled, modify the quantity, and leave a comment. The request does not modify the product immediately — it stays as a petition the agent accepts or rejects from their side.

How does the agent respond to a customer's request?

The agent sees a yellow alert on the product view with the requested quantity and comment. They can:

  • Accept: the system updates the product's quantity or status and records the conversation in the history.
  • Reject: requires writing a reason (e.g. "the supplier already produced the cartons, can't cancel"). The customer sees the rejection and the reason on their next visit to the link.

The full conversation lives in a change history per product, visible to both parties.

By default, 2 hours from creation. Each organisation can adjust that expiry in its settings. Expired links show a clear screen with the option to regenerate.

Yes. From the container's Shared links section, any active link can be manually disabled — the customer will see the "link expired" screen the next time they open the URL.

Does the customer see the supplier name?

It depends on configuration. The organisation can hide supplier names by default, and each container can override that decision (always show / always hide / use default). Useful when you don't want the end customer to be able to contact the supplier on their own.

Is there a video showing the full flow?

Yes: the walkthrough linked above. It covers link creation, the customer's request, the agent's accept and reject, and how everything stays documented for both parties.

Available since: 2026-04-03

Purchase Orders

Per-supplier Purchase Orders (POs)

Each container generates one active PO per supplier: all products from that supplier inside the container are grouped automatically into a single PDF, ready to send to the workshop. When products change, the PO is marked outdated and a click regenerates it with the latest version.

Frequently asked questions

How do I generate a PO?

From the supplier-grouped view of the container, each block has a Generate PO button. Clicking it builds a PDF with all confirmed products from that supplier in this container: reference, description, quantity, unit price, CBM, weight, photos and carton label.

Can I have more than one open PO for the same supplier in a container?

No. There is one active PO per supplier in each container. If an active PO already exists, "Generate PO" opens regeneration instead of duplicating. Versions prior to a regeneration are kept as history.

Why does the PO show as "outdated"?

Because some product changed after the last generation. Any modification to product data marks it as outdated — not just quantity, but also description, price, CBM, weight, dimensions, color, size, brand, material or the carton label text. You'll see an Outdated badge on the PO and a regenerate button.

How do I regenerate an outdated PO?

From the supplier block or from the supplier page (which also lists their recent POs), click the regenerate button. The new PDF replaces the previous one as the active PO; the old version is kept as history.

What does the PO show besides product data?

  • Header with your organisation's logo, name and address (configurable in My Account → Company).
  • The customer's shipping mark with diamond.
  • Carton label with editable text and handling pictograms: this side up, keep dry, no stepping, recycle. Editing the label also marks the PO as outdated.
  • Carton dimensions (width × height × depth) so packing decisions can be made at the workshop without a second lookup.

Where do I find a supplier's POs?

On the supplier page, below the products section, you'll find the list of their recent POs with an Active / All filter. The supplier-grouped product view of the container also has a direct link to that page.

Is there an equivalent for sending to the end customer (not the supplier)?

Yes: the per-supplier proforma (PDF and Excel) and the full-container export grouped by supplier. The latter can anonymise the supplier groups for sharing with the customer without revealing who each supplier is.

Who can generate and regenerate POs?

Any user with access to the container (admin or assigned agent). End customers do not access the PO flow.

Available since: 2026-04-26

Containers

Container lifecycle

Each container moves through a series of states from the moment the buyer starts planning it until the shipment reaches its destination. The system uses these states to show the container in the right panel and to enable certain actions (e.g. uploading seal photos or recording dispatch date).

🎥 Video walkthrough (Spanish audio): https://jaomai.store/videos/container_lifecycle_es.mp4

Frequently asked questions

What are the container states?

In order:

  1. Planning — the agent loads products, uploads photos, sets prices. Initial state.
  2. Ordering — products are confirmed; per-supplier POs are generated.
  3. Loading — goods are being received in the warehouse to consolidate the container.
  4. Sealed — the container is closed, with seal photos.
  5. In transit — the container has shipped; dispatch date recorded.
  6. Delivered — arrived at destination.

Plus a special state: Cancelled, which is outside the normal flow but preserves the data.

How do I change state?

From the container page there's a state transition button that offers the valid options based on the current state. The system validates that the container meets the requirements before advancing (e.g. you can't go to "Sealed" without having loaded products).

Is there a separate panel per state on the dashboard?

Yes. The dashboard groups containers by state: Quotations, Planning, Ordering, Loading, Sealed, In transit, Delivered (plus optionally Cancelled with a toggle). This lets you scan at a glance what to handle in each stage.

Can I cancel a container in any state?

Yes. From the container's edit page, there's a Cancel container button available in any state. Cancelling does not delete data, it just changes the state to Cancelled and excludes it from totals. Reactivating is also available from the same view — the container goes back to Planning.

What happens if I delete a container?

Deletion is soft delete: the container disappears from the view but the data stays in the database. A superadmin can recover it from the Admin screen. Products, suppliers and shipping marks are also logically deleted, not physically.

What are container types and what are they for?

Each container has a type (e.g. "40ft High Cube") with a maximum volume and maximum weight. When loaded products exceed those limits, the app shows a visual warning in the container header: "Volume / weight overload". It doesn't block, just warns so you adjust the load.

What about shared containers? What changes?

A shared container is one where multiple shipping marks coexist (multiple customers in one container). It's marked with a flag at creation. In these cases, the volume/weight limits are optional (each customer can have a personal cap or none) and products are grouped by shipping mark in exports.

Who can transition states?

The organisation's admin and the assigned agent. End customers and quotation containers have a separate flow that doesn't use these states.

Is there a video showing the full cycle?

Yes: container_lifecycle_es.mp4. It walks through the creation of a container from Planning to Delivered, showing what changes in each state and which actions become available.

Available since: 2025-09-21

Quotations

Agent ↔ buyer quote flow

The buyer creates quote requests with photo and description inside a container marked as a quotation, and the agent fulfils them by walking the market and registering products with supplier and price. The responses are grouped under each request, sorted by price, so the buyer can compare and pick.

🎥 Video walkthrough (2:13, Spanish audio): https://jaomai.store/videos/agent_quote_es.mp4

Frequently asked questions

What is a quotation container?

A container used only to ask for prices — it is not a firm order. It shows up on the Quotations panel of the dashboard, separated from the planning containers. Create one with the "+" button on that panel.

How do I request a quote?

Open the quotation container and click + New request in the Quote requests section. Upload photo(s) if you have them, write a description of what you need quoted (for example, "Black water-resistant school backpack, around 25 litres"), and save. Each request becomes its own card.

Who creates the requests, and who responds?

  • Requests: created by the buyer. They represent what the end customer is asking for.
  • Responses: loaded by the agents assigned to the container. Each response is a product with supplier, reference, price and photo.

How does the agent respond to a request?

From the request card, the Quote button opens the new-product form already linked to that request. The agent fills in the supplier, reference, unit price, dimensions, etc., and saves. The response is automatically associated with the original request.

Can there be multiple responses per request?

Yes — that's the point. The agent can bring several proposals from different suppliers for the same request. The card will show "3 quotes" and list the prices. The buyer can compare at a glance.

How do I choose between the received quotes?

Responses appear sorted from lowest to highest price under each request, with the supplier's shop number and product reference. Click any of them to open the product detail.

When do I move from quotation to a real order?

Not yet automatically — promoting a quotation container to a firm order is a planned next iteration. For now, once the winning quotes are decided, the buyer creates a new order container and loads the chosen products there.

What do agents who aren't assigned to this container see?

Nothing. Each agent only sees the containers they're assigned to. Other agents' requests and quotes are not visible to each other.

Is there a video showing the full flow?

Yes: the walkthrough linked above (2:13 min, Spanish audio). It covers the 10 scenes: buyer creates the request → agent quotes it twice with different suppliers → buyer sees both responses sorted by price.

Available since: 2026-05-02

Import

Bulk product import from Excel

From a container's page you can upload all products at once with an Excel spreadsheet — with the photos embedded directly in the cells. Useful when the agent prefers to prepare the full product list as a spreadsheet before loading it.

Frequently asked questions

Where is the import?

In the container view, products section, there's an Import products entry. You download a template from that same page, fill it in, and upload it.

Do I have to use the downloadable template, or any Excel works?

You have to use the template. The system validates the column names and rejects the import if required columns are missing. The template is pre-formatted with the right column widths and a sample row so you can see what's expected in each field.

Which columns are required?

Four: supplier_name, product_reference, units_per_carton, and unit_price.

The rest are optional: shipping_mark, description, sample_photo (embedded image), box_reference, unit_type, carton_count, currency, estimated_cbm, width_cm, height_cm, depth_cm, weight_kg, color, size, material, brand, label, order_number, order_date, delivery_date.

How are photos loaded? URL? File?

By pasting the image directly into the cell in the sample_photo column. The importer extracts the embedded image and links it to the product on that row. One image per product on import; you can add more later from the edit screen.

What if the supplier doesn't exist yet?

The import looks it up by name among your organisation's suppliers. If not found, that row fails with a "supplier not found" error and the rest of the spreadsheet keeps processing. You need to create new suppliers before importing (manually, or one-by-one from the product form).

Is the shipping mark identified by name or by number?

By exact name, and only marks already assigned to the container are accepted. If the column is empty and the container has a single mark assigned, the system uses that one as default. If there are several and the column is empty, the row fails with a clear message.

What if a row duplicates a product already in the container?

It's reported as a duplicate (nothing is created), with a link to the existing product so the agent can decide whether to edit the original or change the reference. The rule is the same as one-by-one creation: supplier + reference unique within the container.

If a row fails, does the whole import get cancelled?

No. The importer processes row by row and reports at the end how many were created, how many failed and how many were duplicates. You can fix the failures in Excel and re-import — successful rows stay, duplicates keep being reported as such.

Does the import behave the same as manual product entry?

Yes — that's the principle. Validations match the quick product form. If a required column is empty, the row fails. If a number is malformed, same. It is no more permissive just because it came from Excel.

Does the import recognise products that already exist in other containers?

Not yet. That detection is planned as a next iteration. For now the "you already have this product in another container" notice only works for one-by-one creation from the form.

Available since: 2026-04-26

Products

Detecting repeated products across containers

When the agent finds a product in the market that they already loaded into a previous container — same shop, same reference — the system recognises it automatically and offers to copy the data from the last entry so the agent doesn't have to retype everything. It's institutional memory between trips.

Frequently asked questions

If I load a product that I already loaded in another container, does the system recognise it?

Yes. On the "New product" form, as soon as you pick the supplier and type the reference, a blue notice appears under the field:

ℹ️ You already have this product in CONT-2025-014 (3 months ago) 2 photo(s) on the previous capture [📋 Copy data from last]

The notice is just informational. If you ignore it, you can keep loading the product from scratch.

What does "Copy data from last" do exactly?

  • Auto-fills the empty fields: description, price, units per carton, CBM, weight, dimensions, brand, etc.
  • If you already typed something in a field, it does not overwrite — your manual input is preserved.
  • It also brings the photos from the previous product, unless you've already uploaded photos of your own.

What happens if I try to create the same product twice in the same container?

The system rejects it with a clear error: the supplier + reference combination must be unique within a container — it's the same SKU duplicated, you should edit the existing product instead of creating another row.

Can other agents see my data through this recognition?

No. Each agent only sees products from the containers they're assigned to. If you work on container A and another agent works on container B, the system never shows you notices based on container B.

What about across organisations?

Zero contact. One organisation never sees another's data, not even for product recognition.

Do end customers have access to this feature?

No. Recognition is staff-only (admins and agents). End customers do not participate in this flow.

Does this detection work in the Excel import too?

Not yet. It's planned as the next iteration. For now bulk import follows the same rules as one-by-one creation (rejects duplicates within the container) but doesn't offer "copy from last" automatically.

Available since: 2026-05-07

Roles

The agent role

The agent role is for external collaborators who work the market on behalf of a buyer. They have scoped access to specific containers: they can load products, generate POs and respond to quote requests, but they don't see the organisation's global catalog or other agents' data.

Frequently asked questions

How do I create an agent user?

As an admin, go to Settings → Users → New with the "Agent" role. The form lets you, in the same step, assign one or more existing containers to the agent. It also generates an email + password for them to log in. Once created, the agent sees the container in their dashboard the next time they sign in.

How do I assign a container to an agent that already exists?

From the container's edit page (the Assigned agent field), pick the agent from the dropdown. Or from the agent user's edit page, check the containers you want to assign to them.

Only admins can assign or reassign agents.

What does an agent see on their dashboard?

Only the containers they're assigned to. The rest of the organisation's containers are invisible to them, including quotation containers.

What can an agent do inside a container they're assigned to?

  • Create, edit and delete products.
  • Create new suppliers on the fly (with "+ New supplier" on the product form).
  • Generate per-supplier POs.
  • Respond to quote requests in quotation containers.
  • View the container's inbox and process items.
  • Upload product photos.

What can an agent NOT do?

  • Access the organisation's global pages of suppliers, customers or shipping marks (they're redirected to the dashboard).
  • See other agents' containers — not even by typing the URL directly.
  • Create new containers.
  • Create or manage users.
  • See data from another organisation.

Why does the agent only see some suppliers when searching?

To avoid exposing the full organisation catalog, the agent's supplier search is scoped to visible suppliers: those that already have at least one product in one of their assigned containers. If they find a new supplier in the market, they use "+ New supplier" on the product form and the system creates that supplier (or silently reuses an existing one if it already had the same shop number).

Can an agent see what products another agent loaded into another container?

No. Cross-container product recognition is scoped per agent: each one only gets notices based on their own assigned containers. There's no information leak between agents.

Can an agent be a customer at the same time?

No. Each user has a single role. If the same person needs to access as both customer and agent, today they're two separate accounts.

Available since: 2026-05-01