Prepare and send your catalog to ZAGENO
Use our 2027 template, one row per product and pack size. This guide shows what each column does, how it appears on your product page, and how to send the file.
- One row per pack sizeCSV or Excel, one sheet
- Codes for every new productUNSPSC and HS, plus hazard codes for chemicals
- Dates as YYYY-MM-DDPrices run until 2027-12-31 unless you set a date
Start with the template
Fill in the template as it is. Files on the template go live with far fewer questions from us.
- CSV or Excel
One file, one sheet. We can't load PDFs.
- One row per product and pack size
Each pack size has its own row and prices, even when several pack sizes share one SKU.
- Keep our column names
Delete the help row under them before you send. In the Excel file, delete the How to fill sheet as your last step.
- Dates as YYYY-MM-DD
For example 2027-12-31.
- Links, not attachments
Images and documents go in as web links.
How your file becomes a product page
Each number is a spot on your ZAGENO product page. The list below shows the template column that fills it.
- Manufacturer part no.
- Callout 5EB-CD3-100
- Manufacturer
- Callout 6Example Biosciences
- Sold by
- Callout 13Example Lab Supply
- Supplier part no.
- Callout 14ELS-44817
Purified mouse monoclonal antibody against human CD3, for flow cytometry and T-cell activation. Supplied in PBS, azide-free.
- Host
- Mouse
- Clonality
- Monoclonal
- Reactivity
- Human
- UNSPSC
- 12352203
- HS code
- 300215
- 1Product image
N Primary Image. A link to a product photo.
- 2Product name
G Product Name. The title buyers see and search for.
- 3More images
OP Additional Image 1 and 2. Optional links.
- 4Brand
E Brand Name. Can match your company name or differ.
- 5Manufacturer part number
D Manufacturer Catalog ID. Can match your own part number or differ.
- 6Manufacturer
F Manufacturer Name. The company that makes the product.
- 7Quantity × size
J Packaging Quantity × I Samples/Size = the total amount shipped.
- 8Product details
AI+ Attributes such as host, purity or volume. KLM The UNSPSC, HS and hazard codes.
- 9Description
H Product Long Description.
- 10Manufacturer website
S Manufacturer URL. The product page of the company that makes it.
- 11Resources
R Resource URL. Links to safety data sheets, certificates of analysis and white papers.
- 12List price
VXZABAD Published List Price for each marketplace, in its currency.
- 13Supplier
A Supplier Name. The company that sells the product on ZAGENO.
- 14Your SKU
C Supplier Catalog ID. Your own part number. Buyers see it as the supplier part number.
- 15Lead time
AG Lead time (days). Days from order to shipment.
Every column, explained
Sending a price update for products already on ZAGENO? The Always columns are enough. For new products, also fill in every New products column. A new supplier's products are all new.
| Column | What to enter |
|---|---|
| Always requiredIn every file, also for price updates. Prices only for the marketplaces you sell in. Leave the others empty. | |
| C Your SKU (Supplier Catalog ID) | Your own part number, not a ZAGENO number. If one SKU comes in several pack sizes, give each pack size its own row with its Samples/Size and Packaging Quantity filled in. Never list the same SKU and pack size twice.e.g. ELS-44817 |
| VW US list price and ZAGENO discounted price [USD] | If you sell in the US. Numbers only. See Prices.e.g. 245.00 / 220.50 |
| XY UK list price and ZAGENO discounted price [GBP] | If you sell in the UK. Same, in GBP.e.g. 205.00 / 184.50 |
| ZAA Germany list price and ZAGENO discounted price [EUR] | If you sell in Germany. Same, in EUR.e.g. 229.00 / 206.10 |
| ABAC France list price and ZAGENO discounted price [EUR] | If you sell in France. Same, in EUR.e.g. 235.00 / 211.50 |
| ADAE Belgium list price and ZAGENO discounted price [EUR] | If you sell in Belgium. Same, in EUR.e.g. 229.00 / 206.10 |
| New productsRequired to create a product | |
| B Supplier Product Category | Your own category for the product.e.g. Antibodies |
| D Manufacturer Catalog ID | The maker's part number, unchanged. Make it yourself? Repeat your SKU.e.g. EB-CD3-100 |
| E Brand Name | The product's brand. No ©, ™ or ®.e.g. Example Biosciences |
| F Manufacturer Name | The company that makes it. Make it yourself? Your company name.e.g. Example Biosciences |
| G Product Name | The title buyers see and search for. Make it specific: what it is and its key specification. No length limit.e.g. Anti-CD3 monoclonal antibody, mouse, purified |
| I Samples/Size | The size of one unit, with the unit.e.g. 100 µg · 1 ml · 96 wells |
| J Packaging Quantity | How many units in one pack. 10 plates of 96 wells = 10.e.g. 1 |
| K UNSPSC code | 8 digits. See Codes.e.g. 12352203 |
| L HS Code | The first 6 digits, digits only. See Codes.e.g. 300215 |
| Q Supplier URL | The product's page on your website. We link it on the product page. Not your home page.e.g. https://www.example.com/products/els-44817 |
| T Ship from Country | The 2-letter code of the country it ships from. The United Kingdom is GB, not UK.e.g. US · GB · DE · FR · CN |
| ChemicalsRequired for every chemical. Without them, we can't list it. | |
| M Hazard codes | Every GHS hazard code that applies, separated by commas.e.g. H225, H319 |
| AJ CAS Number | The CAS registry number.e.g. 64-17-5 |
| AK Molecular Formula | The molecular formula.e.g. C2H6O |
| AL SMILES | The SMILES string.e.g. CCO |
| OptionalMost of these show on your product page. We recommend the marked ones. | |
| A Supplier Name | Your company name, the same on every row.e.g. Example Lab Supply |
| H Product Long DescriptionRecommended | The product description, no length limit. |
| N Primary ImageRecommended | A link to a product photo, not your logo.e.g. https://www.example.com/img/els-44817.jpg |
| OP Additional Image 1 and 2 | Links to more product photos. |
| R Resource URLRecommended | Links to the safety data sheet, certificate of analysis, datasheet or white papers. |
| S Manufacturer URL | The product page on the maker's website. Skip it if you make the product. |
| U Minimum Order Quantity | The smallest number of packs a buyer can order, as a whole number.e.g. 1 |
| AF Price valid until | Leave it blank and your prices run until 2027-12-31. Prices end earlier? Enter one date as YYYY-MM-DD, the same on every row. If you email the file, give the date in your email too.e.g. 2027-06-30 |
| AG Lead time (days)Recommended | Days from order to shipment, as a whole number.e.g. 5 |
| AH Divider column | Leave it empty. The attribute columns start after it. |
| AI Shipping ConditionRecommended | Ambient, cold pack, dry ice or flammable.e.g. Cold pack |
| AM IUPAC Name | For chemicals: the IUPAC name.e.g. ethanol |
| AN InChIKey | For chemicals: the InChIKey. |
| AO+ Product details | Purity, Volume, GTIN, Applications, Clonality, Color, Dimensions (L x W x H), Host, Material, Reactivity, Shelf Life. Rename or add columns to fit your product's specifications. Add new columns at the end. Buyers can filter by them.e.g. Host: Mouse · Purity: 99.5% |
Letters show where each column sits in the template. Keep the column names as they are.
Prices
Fill in only the marketplaces you sell in. Each pack size has its own row and prices.
Two prices per marketplace
Your published list price, and the ZAGENO discounted price: your list price with your agreed ZAGENO discount applied. The discounted price is never above the list price.
Europe: one pair per country
Germany, France and Belgium each have their own list price and discounted price in EUR, because your prices, and the countries you sell in, can differ. Fill in the pair for each country you sell in. Leave the pair empty for a country you don't sell in.
Still on the 2026 template, with one EUR pair? We still load it, but only for the EU countries you sell in: the ones on your onboarding form. In the portal, pick those markets (Guided) or name them in the note (Express).
Valid until 2027-12-31
Prices run until 2027-12-31. If they end earlier, use one end date for the whole file: enter it in Price valid until on every row, as YYYY-MM-DD. If you email the file, give the date in your email too. If prices start later, such as next year's prices, tell us the start date when you send the file.
Numbers only
Write 245.00. No currency signs, no ranges, no "on request". We can't load a price written as text.
Selling in Canada?
Email catalogs@zageno.com before you add Canadian prices. We'll tell you which columns to use.
UNSPSC, HS and hazard codes
UNSPSC and HS codes are required for every new product. For products already on ZAGENO, add them in your next price update. Hazard codes are required for chemicals. We show all three on your product page, under product details.
Some large customers can't buy products without these codes. Their procurement systems require them.
UNSPSC code For procurement
A global system that sorts products into categories. Buyers' procurement systems use it. Enter 8 digits.
| Product | UNSPSC | Official title |
|---|---|---|
| Monoclonal antibody | 12352203 | Antibodies |
| Pipette tips | 41121607 | Universal pipette tips |
| Laboratory refrigerator | 41103011 | General purpose refrigerators or refrigerator freezers |
| Centrifuge tubes | 41121703 | Centrifuge tubes |
HS code For customs
The World Customs Organization's system for classifying traded goods. Customs use it for import and export papers, duties and trade statistics.
digits
Enter only the first 6 digits, for example 300215. They are the same in every country. Leave out the digits a country adds after them.
| Product | HS code | Description |
|---|---|---|
| Monoclonal antibody | 300215 | Immunological products, in doses or packs for retail sale |
| Plastic pipettes and pipette tips | 392690 | Other articles of plastics |
| Laboratory glassware (borosilicate) | 701720 | Laboratory glassware of low-expansion glass |
| Cell culture media | 382100 | Prepared culture media for micro-organisms or cells |
Hazard codes For chemical safety
GHS codes for physical, health and environmental hazards. You find them in section 2 of the safety data sheet and on the label. List every code that applies, separated by commas.
| Substance | Hazard codes | Meaning |
|---|---|---|
| Acetone | H225, H319, H336 | Highly flammable liquid and vapour; causes serious eye irritation; may cause drowsiness or dizziness |
| Ethanol | H225, H319 | Highly flammable liquid and vapour; causes serious eye irritation |
| Sodium azide | H300, H310, H373, H400, H410 | Fatal if swallowed or in contact with skin; may damage organs through prolonged or repeated exposure; very toxic to aquatic life, with long-lasting effects |
| Hydrochloric acid | H290, H314, H335 | May be corrosive to metals; causes severe skin burns and eye damage; may cause respiratory irritation |
These are examples. Use the codes your own customs and safety documents give for each product.
Common questions
What if I don't have every code for a product?
Should I send both US and EU HS codes?
Will the codes show on the product page?
Where do I find the codes?
My products are already on ZAGENO without codes. What do I do?
How to send your catalog
Ready before you sign? Email it. After you sign, upload it in the Supplier Portal.
Email the file
Send it from your company email address to
catalogs@zageno.com- Subject:
Catalog - <Company name> - New products(orPrice update) - Attach the file, and add one line on what it contains, for example "New products for the US and Europe".
- For questions or corrections, reply on the same thread.
Upload in the Supplier Portal
You get access to the ZAGENO Supplier Portal. Go to Catalog > Import and choose one of two options:
We map your columns to our template and check every row with you before you send. Best for a file on our template. For chemicals, use Express or email.
Upload any file as it is, even in your own layout. CSV up to 150 MB, Excel up to 50 MB. Automatic checks show what's missing.
The portal shows each upload's status and expected date.
What happens next
- We replyOur catalog team replies, usually within 2 business days.
- We check your fileWe compare it with the products already on ZAGENO. If anything is missing, we ask on the same thread.
- We load itWe create your new products and load your prices.
- You're liveWe tell you when your products are live.
Before you send: six checks
These six mistakes slow catalogs down the most. Tick them off before you send.
Questions?
About your catalog: reply on your catalog thread, or email catalogs@zageno.com.
Anything else: suppliers@zageno.com.
Send catalog updates through SFTP
Your catalog changes often? Put CSV files in your ZAGENO SFTP folders and we load them automatically. This guide shows the folders, the file layouts and what to set up first.
- One folder per type of changePrices, deactivations, new items, full catalog
- CSV files onlyNo line breaks in a cell, no open quote marks
- Checked before loadingSizes, categories, brands and countries
How it works
Many catalogs change often. With SFTP, your updates flow from your catalog system to ours without emails or uploads by hand.
- One folder per type of change
Price updates, deactivations, new items and full catalogs each have their own folder.
- You add a CSV file
In the folder for the change you want. Each change has its own file layout.
- We check it
Sizes, categories, brands and countries must match our accepted values. Files that don't, fail validation.
- We load it
Files that pass load into your ZAGENO catalog automatically.
Automation needs clean data. If a file isn't clean enough, our Catalog Operations team has to step in by hand.
Folder structure
We set up these folders for you. Each folder is for one type of change, and each has the same subfolders.
- Your ZAGENO SFTP folder /
- Price Updates/You add filesInputArchiveProcessedFailed
- Product Deactivations/You add filesInputArchiveProcessedFailed
- New Item Creation/You add filesInputArchiveProcessedFailed
- Full Catalog Dump/You add filesInputArchiveProcessedFailed
- ZAGENO Catalog Dump/We add filesInputArchive
Each folder has the subfolders shown. Put each of your files in the Input folder of the change it contains.
What you need to set up
To process your files correctly, we first need to know the shape of your data. Your answers in the requirements form decide which mapping you set up. Unique SKUs: each SKU is one product in one pack size. Not unique: one SKU covers several sizes.
| Your SKUs | You are a | Size mapping | Category mapping | Brand mapping |
|---|---|---|---|---|
| Unique | Manufacturer | New items | New items | Not needed |
| Unique | Distributor | New items | New items | New items |
| Not unique | Manufacturer | Every file | New items | Not needed |
| Not unique | Distributor | Every file | New items | New items |
New items: needed for files in New Item Creation and Full Catalog Dump. Every file: needed for price updates and deactivations too. We confirm the row that fits you when we review your answers.
Size, category and brand mapping
Mapping means matching each of your values to one of ours. For our accepted sizes, categories and brands, email catalogs@zageno.com.
Validation fails any file with a value that isn't on our accepted lists.
Size mapping New items, or every file if your SKUs are not unique
Map all your size values to ours. If your SKUs are not unique, accurate sizes are how we tell the sizes of one SKU apart, in every operation.
quantity
value
unit
product page
For example, a case of six 100 ml bottles of water.
| Your value | ZAGENO value |
|---|---|
| tests | Test(s) |
| milliliters | ml |
| UG | µg |
Category mapping New items
Map each of your categories to one of ours. If one can't be mapped, use Miscellaneous.
| Your category | ZAGENO category |
|---|---|
| Desks | Lab Furniture |
| Bandages | First Aid |
| Weighing Equipment | Balances & Scales |
Brand mapping New items, distributors
Map each brand you sell to the brand name we use.
| Your brand | ZAGENO brand |
|---|---|
| Avantor/VWR | Avantor |
| SCBT | Santa Cruz Biotechnology |
| BD | Becton, Dickinson and Company |
Common questions
A size I need isn't on the accepted list. What do I do?
One of my categories doesn't match any of yours.
What happens to a file with a value that isn't on the lists?
File rules
These rules apply to every file you add, in every folder.
- CSV only
Every file must be a CSV file.
- No line breaks in a cell
A line break inside a cell can make the file fail.
- Close every quote mark
An open quote mark can make the file fail too.
- Our country codes
Country columns accept these codes only.
The United Kingdom is GB, not UK. Selling in Canada? Email catalogs@zageno.com first.
File layouts
Price updates and deactivations have their own layouts. Use the one that fits your SKUs, with these column names. Green rows are the extra columns when your SKUs are not unique.
Price updates
Unique SKUs Price Updates
| Column | What to enter |
|---|---|
supplier_catalog_id | Your SKU, as text.e.g. ELS-44817 |
list_price | Your published list price. Numbers only.e.g. 245.00 |
buy_price | Your ZAGENO discounted price. Numbers only.e.g. 220.50 |
country | One country code. Validatede.g. US |
Sample file
supplier_catalog_id,list_price,buy_price,country ELS-44817,245.00,220.50,US ELS-44817,229.00,206.10,DE
SKUs not unique Price Updates
| Column | What to enter |
|---|---|
supplier_catalog_id | Your SKU, as text.e.g. ELS-44817 |
packaging_quantity | How many units in one pack, as a whole number.e.g. 6 |
size | The size of one unit, from our accepted size values. Validatede.g. 100 ml |
list_price | Your published list price. Numbers only.e.g. 1350.00 |
buy_price | Your ZAGENO discounted price. Numbers only.e.g. 1215.00 |
country | One country code. Validatede.g. US |
Sample file
supplier_catalog_id,packaging_quantity,size,list_price,buy_price,country ELS-44817,1,100 ml,245.00,220.50,US ELS-44817,6,100 ml,1350.00,1215.00,US
Prices for certain customers only? To offer customer-specific prices to certain organizations, email catalogs@zageno.com. We create a custom layout for you.
Product deactivations
Unique SKUs Product Deactivations
| Column | What to enter |
|---|---|
supplier_catalog_id | The SKU to deactivate, as text.e.g. ELS-44817 |
country | Every country to deactivate it in, separated by #. Validatede.g. DE#BE#FR |
Sample file
supplier_catalog_id,country ELS-44817,DE#BE#FR
SKUs not unique Product Deactivations
| Column | What to enter |
|---|---|
supplier_catalog_id | The SKU to deactivate, as text.e.g. ELS-44817 |
packaging_quantity | How many units in one pack, as a whole number.e.g. 6 |
size | The size of one unit, from our accepted size values. Validatede.g. 100 ml |
country | Every country to deactivate it in, separated by #. Validatede.g. US#GB |
Sample file
supplier_catalog_id,packaging_quantity,size,country ELS-44817,6,100 ml,US#GB
New items and full catalogs
Files for new items and full catalogs use our catalog template, the same as in the catalog guide, saved as CSV. Keep our column names and delete the help row under them before you add the file.
New Item Creation
Products that are not on ZAGENO yet, on the catalog template.
Full Catalog Dump
Your full catalog, on the catalog template.
Automated? Map every value
To load these files automatically, every size, category and brand value in them must map to our accepted lists. See Mapping.
Your ZAGENO catalog extract
In this folder you find a recent extract of the data we have loaded in our catalog under your supplier name. It is for your reference: it shows what we currently carry for you.
Get started
Start with the requirements form: five questions about your SKUs and the products you sell.
- Fill in the formTell us about your SKUs and whether you make the products you sell.
- We review your answersOur Catalog Operations team tells you which mapping you need.
- We set up your connectionWe set up your SFTP folders for the changes you want to send.
- You add filesPut each CSV file in the Input folder of its change.
Questions?
About SFTP or your catalog: email catalogs@zageno.com.
Anything else: suppliers@zageno.com.
Connect your order system to ZAGENO
Receive ZAGENO purchase orders and send back acknowledgements, ship notices and invoices from your own system. cXML, EDI and JSON cover all four documents; CSV covers the three you send back. This guide shows the documents, the formats and the steps to go live.
- Four documentsPurchase order, acknowledgement, ship notice, invoice
- Your formatcXML, EDI, JSON or CSV
- Test before you go liveCreate test orders yourself, in real time
How it works
Every ZAGENO order follows the same four documents. With an integration, they move between your system and ours without emails or typing by hand.
- 1. Purchase order
We send you the order: items, quantities, prices, ship-to and bill-to.
- 2. Acknowledgement
You confirm each line: units accepted, backordered or cancelled, with an estimated ship date. If anything changes, you send an update.
- 3. Ship notice
You tell us what shipped, when, from where, with which carrier and tracking number. Every order that isn't cancelled needs one.
- 4. Invoice
You invoice ZAGENO for what you shipped, at the unit prices on our purchase order.
Order statuses
| Status | What it means |
|---|---|
| Ready to acknowledge (150) | A new order waiting for you to collect and acknowledge. |
| Acknowledged (200) | You have collected the order. With the JSON API you set this status yourself, just before you send the acknowledgement. |
| Partly shipped | The order stays open until every item has shipped. |
| Ready to invoice | Every item has shipped. |
| Complete | The order is closed. |
| Cancelled | No ship notice or invoice is needed. |
Connection options
Choose the format your system already speaks, then set up the connection (step 1 of the steps to go live).
| Format | Documents | Connection |
|---|---|---|
| cXML | Purchase order, acknowledgement, ship notice, invoice | API or SFTP |
| EDI | 850, 855, 856, 810 | AS2 (SHA-2) or SFTP |
| JSON | Purchase order, acknowledgement, ship notice, invoice | API or SFTP |
| CSV | Acknowledgement, ship notice, invoice | SFTP, or upload in the ZAGENO Supplier Portal |
No system to connect? Your team can handle every order document by hand in the ZAGENO Supplier Portal instead.
Connection details
Test and production
- Test and production are separate, each with its own connection details: API base URL and key, SFTP host, AS2 ID and URL, cXML endpoint.
- Build and test against the test environment. Switch to the production details when you go live.
- Before you start the test cases, check that your test connection works both ways: you can receive from us and send to us.
- If your firewall needs an allow-list, our IP address comes with your connection details.
- Every JSON and CSV document carries our company ID; JSON orders and invoices also carry yours. Both IDs, and the vendor number for CSV files, come with your connection details. The samples use
111111for ZAGENO,222222for you and1234567as the vendor number.
API cXML and JSON
- JSON calls authenticate with an API key that comes with your connection setup. Set up your test key first.
- Generating a new key replaces the old one and breaks anything still using it, so check with your team before you generate one.
- cXML documents carry a shared secret in the Sender credential, as in the samples.
- For cXML, send us your shared secret, your cXML ID and your test and production endpoints, so we can post orders to you.
- The full API reference for test and production comes with your connection setup.
SFTP
- You log in with a username and password. No certificates or keys are needed.
- Create a dedicated login for automated transfers, registered to a shared mailbox your team can reach, so a password change or someone leaving doesn't break your integration.
- Before you automate, log in once with a standard SFTP client such as FileZilla or WinSCP to check your login and your folders.
- Your site has one folder per format. Use only the folder for your format.
- Inbound holds files from us, such as purchase orders. Put your acknowledgements, ship notices and invoices in Outbound. Archive is optional, for files you have processed; nothing in it is picked up.
- Each JSON or cXML order arrives as its own file. After you collect it, delete it or move it to Archive: removing the file tells us you received the order, and new orders aren't delivered while old order files stay in Inbound.
- Your exact folder layout comes with your connection details.
AS2 EDI
- AS2 uses SHA-2. Send every message signed and encrypted (S/MIME). The encryption algorithm comes with your connection details.
- Request a synchronous MDN (receipt) for every message.
- You get separate AS2 IDs and URLs for test and production. One certificate covers both.
- We send you our AS2 ID, AS2 URL and public certificate at setup. You send us yours.
- If you allow-list, the IP address in your connection details is the one we send from. It isn't our AS2 receiving address.
Document specs
The message for each document, by format, with ZAGENO sample files and specifications to build from.
cXML API or SFTP
| Message | Document |
|---|---|
OrderRequest | Purchase order We send |
ConfirmationRequest | PO acknowledgement |
ShipNoticeRequest | Ship notice |
InvoiceDetailRequest | Invoice |
Sample files
- Purchase order
OrderRequest - Purchase order against your quote
OrderRequest - Purchase order with customer-specific pricing
OrderRequest - PO acknowledgement
ConfirmationRequest - Updated PO acknowledgement
ConfirmationRequest - Ship notice
ShipNoticeRequest - Invoice
InvoiceDetailRequest
EDI AS2 or SFTP
| Transaction set | Document |
|---|---|
850 | Purchase order We send |
855 | PO acknowledgement |
856 | Ship notice |
810 | Invoice |
Specifications
EDI basics
- ZAGENO's EDI documents follow ANSI X12 version 4010.
- We send 850 purchase orders over the connection you chose. You send 855, 856 and 810 back over the same connection.
- Send a 997 functional acknowledgement for each EDI document you receive.
- Use the sender and receiver IDs from your connection setup. A document whose IDs don't match is rejected.
JSON API or SFTP
| Document | Direction |
|---|---|
| Purchase order | We send |
| PO acknowledgement | You send |
| Ship notice | You send |
| Invoice | You send |
Sample files
- Purchase order
JSON - PO acknowledgement
JSON - Ship notice
JSON - Invoice
JSON
CSV SFTP or Supplier Portal
| File | Document |
|---|---|
| Acknowledgement | PO acknowledgement |
| Ship notice | Ship notice |
| Invoice | Invoice |
Templates
JSON API flow
The calls, in order. Your base URL and credentials come with your connection setup.
- Get the orders ready to acknowledge
GET /api/v1/Orders?Filter.status=150: every order in status 150 (ready to acknowledge), each with its order key (Identifier.ZagenoKeyin the samples; your connection setup confirms the exact field name). - Get each order's detail
GET /api/v1/Orders/{orderKey} - Mark the order acknowledged
PUT /api/v1/Orders/{orderKey}/Status/200(200 = acknowledged) - Send the acknowledgement
POST /api/v1/Acknowledgements/{orderKey}, as in the acknowledgement sample. For a second or later acknowledgement, add the extended attributeAcknowledgement Updatewith the valuetrue. - Send ship notices as you ship
POST /api/v1/Shipment/{orderKey}, as in the ship notice sample. - Send the invoice for what you shipped
POST /api/v1/Invoices/{orderKey}, as in the invoice sample.
What a ZAGENO cXML order tells you
Every cXML order carries a parent Org ID and Address IDs for the ship-to and bill-to locations. Orders placed against your quote, or at customer-specific pricing, also carry extra information in the order header, as extrinsics and in comments, so you can route them to a special process or to your sales team.
- Orders against your quote
The quote ID from your system, and a link to the approved quote as an attachment.
- Customer-specific pricing
A flag set to
1when the order uses pricing the customer agreed with you directly, plus your account number for that customer when we have it.
Org ID and Address IDs
- Org ID 31 · end customer
- Address ID 1011Ship-to or bill-to
- Address ID 789Ship-to or bill-to
- Address ID 456Ship-to or bill-to
Every Address ID belongs to one Org ID. Map by Org ID if you only need the customer company, or by Address ID if you need each location.
Document rules
What each document must carry. The specifications and samples above show the fields for your format.
Acknowledgements
- Every acknowledgement that accepts or backorders units carries an estimated ship date.
- For each order line, state the units you accept, backorder and cancel. Together they equal the quantity ordered.
- Use our PO number and the line numbers from our purchase order.
- Acknowledge each order line once. After that, send only updates.
- When you cancel a line, give the reason if your format has a field for it.
- Send an updated acknowledgement as soon as an estimated ship date or a line's status changes. Give the estimated ship date for units you accept or backorder, as in a first acknowledgement, and add your format's update flag, so we don't read it as a new partial acknowledgement.
Update flag by format
| Format | Update flag |
|---|---|
| cXML | operation="update" on ConfirmationHeader |
| EDI 855 | BAK01 = 04 |
| JSON | In the acknowledgement header: "ExtendedAttributes": [{"Name": "Acknowledgement Update", "Value": "true"}] |
| CSV | ExtendedAttribute[ = true, with a new AcknowledgementNumber |
A first acknowledgement uses operation="new" in cXML (the default) and BAK01 = 00 in an EDI 855. JSON and CSV need no flag. JSON orders may carry an attribute named Acknowledgement Update?. Ignore it. The update flag goes on your acknowledgement, not on the order.
Ship notices
- Every order that isn't cancelled needs a ship notice. Send one each time you ship.
- Ship only the items and lines on our purchase order, with its PO number and line numbers. A ship notice whose items don't match the order doesn't update the order.
- Give the carrier and tracking number. We pass them on, so the customer knows the order has shipped.
- Give the expected delivery date and the ship-from address, and the ship date where your format has a field for it.
- Carrier codes: use the carrier's SCAC (for example FDE for FedEx Express, FDEG for FedEx Ground, UPSN for UPS), or your own code once we have mapped it at setup.
Where the carrier code goes
| Format | Field |
|---|---|
| cXML | ShipControl, CarrierIdentifier domain="SCAC" (tracking number in ShipmentIdentifier) |
| EDI 856 | TD505 |
| JSON | CarrierCode and ClassCode in each ShipmentInfos entry, as in the ship notice sample |
| CSV | ShipmentLine. |
No tracking number
- Items have shipped but you have no tracking number? Still send the ship notice: we can only update the customer and accept your invoice once the shipment is recorded.
- Set the carrier code to
UNSPand the tracking number to exactlyNO TRACKING PROVIDED. - Still send every other detail: ship-from address, expected delivery date, items and quantities, and the ship date where your format has a field for it.
By format
| Format | Values |
|---|---|
| cXML | CarrierIdentifier domain="SCAC" = UNSP, ShipmentIdentifier = NO TRACKING PROVIDED |
| EDI 856 | UNSP as the carrier code, NO TRACKING PROVIDED as the tracking number |
| JSON | CarrierCode and ClassCode = UNSP, TrackingNumber = NO TRACKING PROVIDED, in each ShipmentInfos entry |
| CSV | ShipmentLine. = UNSP, ShipmentLine. = NO TRACKING PROVIDED |
Invoices
- We process invoices only once your payment terms are set up.
- Invoice only what you have shipped, and send the ship notice first. You can't invoice more units of a line than your ship notices report.
- Each line's unit price must match our purchase order line exactly. One mismatch fails the whole invoice.
- US orders: sales tax depends on the ship-to state. See our resale certificates page. If an invoice fails on tax, the error names the state. Send a new invoice with the tax corrected.
- Give each invoice its own invoice number, an invoice date and our PO number. If no currency is given, USD is assumed.
- Add a remit-to address only if your account has no default one. Invoices carry payment terms; credit memos don't need them.
Common failures and how to fix them
Failure alerts come by email, so make sure someone who can correct documents receives them.
| Failure | Cause | Fix |
|---|---|---|
| Invoice fails on price | A line's unit price differs from our purchase order. | Don't resend the failed invoice: send a new one at the purchase order unit prices. The error lists the lines. |
| Invoice fails on tax | Tax included for a ship-to state where we hold a resale certificate, or left off where we don't. | Send a new invoice with the correct tax. The error names the ship-to state. |
| Invoice fails on unshipped items | A line or quantity isn't on an accepted ship notice. | Send the missing ship notice, or check that yours was accepted. Then have the original invoice processed again; you don't need a new one. |
| Ship notice doesn't update the order | Items or lines that aren't on the purchase order. | Ship only purchase order lines, with their line numbers. |
| Document fails validation | Required data missing or wrong. | The alert says what failed. Correct it and send again. |
| EDI document rejected as unknown | Sender or receiver IDs don't match your setup. | Use the IDs from your connection details. |
| Update read as a partial acknowledgement | No update flag. | Add your format's update flag. |
| No new orders arrive by SFTP | Old order files left in Inbound. | Delete or archive each order file once collected. |
| We ask you for shipment details | A ship notice without tracking that misses UNSP, NO TRACKING PROVIDED or other details. | Follow the no-tracking rules. |
Steps to go live
You work through most steps yourself. We set up your connection and agree your go-live with you. Stuck? Email suppliers@zageno.com.
- Set up your connectionTell us how you want to connect: API, SFTP or AS2, or the Supplier Portal. We set it up and send your test and production connection details.
- Confirm your payment termsWe can only process your invoices once your terms are set: a description, the net days due, and any early-payment discount (days and percentage).
- TestCreate test orders yourself and send the documents back in real time, without waiting for test data from us. See the test cases below.
- Choose your notificationsChoose your email alerts for test and production: information (new orders, cancellations, daily summaries), errors (rejected or failed documents, unknown SKUs) and warnings (overdue acknowledgements and documents).
- Set up your shipping methodsList the carriers and service levels you ship with. If your system uses its own carrier codes, tell us what each one stands for: we map it, so you keep sending your own code.
- Go liveAfter your test cases pass, we send one final end-to-end test order. Once it passes, we move you to production, you turn on your production alerts, and we agree your go-live date with you.
Test cases
In the test environment, you pass the test cases for your format before you go live. They include these three core cases:
- 1. Single-line order
Acknowledge, ship and invoice an order with one line.
- 2. Multi-line order
Acknowledge, ship and invoice every line of an order with several lines.
- 3. Split shipping
Acknowledge every line in one acknowledgement, then ship and invoice them in two ship notices and two invoices.
- You create each test order yourself and can choose the SKUs. It reaches your system the same way a live order does.
- Send the documents in order: acknowledgement, then ship notice, then invoice.
- Each document is checked automatically. To pass, acknowledge, ship and invoice exactly what the case asks for. In the three core cases, that is the full quantity ordered on every line.
- If a document fails, you see why. Fix it and send it again, or create a new test order for that case.
Catalog and prices
Setting up your products and prices is also part of onboarding, between your payment terms and testing. See the Catalog guide to prepare your catalog, and Catalog SFTP integration to send updates automatically.
Questions?
About connecting your order system: email suppliers@zageno.com.
About your catalog: catalogs@zageno.com.
Verify your business
Before your first payment, ZAGENO verifies every new supplier's business (KYB) with Trulioo, our compliance partner. We cannot release any payment until it is complete. Have the details below ready, then start the form.
- Your registry detailsLegal name, registered address and the numbers your business register and tax office gave you.
- Two different numbersA tax ID and a business registration number. The table below shows which is which in your country.
- Same as your agreementUse the company name and tax ID from your signed listing form, so we can match the result to your account.
What each field means
The form starts with your company details. Enter them as they appear in your official business register.
| Field | What to enter |
|---|---|
| Name of business | Your full legal name, including the legal form (LLC, Inc., Ltd, GmbH, B.V.), exactly as registered and as on your listing form. |
| Country of incorporation | The country where your company is legally registered. This can differ from where you ship from. |
| State/province of incorporation | US and Canada: the state or province where the company was formed. A Delaware LLC with an office in New York enters Delaware. Elsewhere: the region of your registered office. |
| Tax ID / VAT number | Your company's tax number. US: your federal EIN. EU and UK: your VAT number. See Numbers by country. |
| Business registration number | The number your business register gave the company when it was formed. US: the entity or file number from the Secretary of State of your state of incorporation. See Numbers by country. |
| City, state/province and ZIP code | Your registered (legal) address, as shown in the business register. |
Numbers by country
In some countries one number serves as both: then enter it in both fields.
| Country | Tax ID / VAT number | Business registration number | Where to find it |
|---|---|---|---|
| United States | EIN, 9 digits (12-3456789) | Secretary of State entity or file number of your state of incorporation: for example the DOS ID in New York, the file number in Delaware, the entity number in California | IRS EIN letter or your W-9; your state's business entity search |
| Canada | Business Number (BN), 9 digits | Federal or provincial corporation number | CRA notice; Corporations Canada or your provincial registry |
| United Kingdom | VAT number, GB + 9 digits | Company number, 8 characters (01234567, SC123456) | Companies House |
| Germany | USt-IdNr., DE + 9 digits | Handelsregisternummer (HRB 12345) with the register court | Handelsregister extract |
| France | VAT number, FR + 11 characters | SIREN, 9 digits (not the 14-digit SIRET) | Kbis extract |
| Netherlands | VAT number, NL + 9 digits + B + 2 digits | KvK number, 8 digits | KvK extract |
| Belgium | VAT number, BE + your enterprise number | Enterprise number, 10 digits (0123.456.789) | Crossroads Bank for Enterprises (KBO/BCE) |
| Switzerland | UID with MWST/TVA/IVA (CHE-123.456.789 MWST) | UID, CHE-123.456.789 | Zefix or the UID register |
| Italy | Partita IVA, IT + 11 digits | Codice fiscale / Registro Imprese number, often the same 11 digits | Visura camerale |
| Spain | VAT number, ES + your NIF | NIF (B12345678) | Registro Mercantil |
| Japan | Invoice registration number, T + 13 digits | Corporate Number (法人番号), 13 digits | National Tax Agency Corporate Number site |
| China | Unified Social Credit Code, 18 characters | The same Unified Social Credit Code | Business licence |
| Any other country | Your VAT or national company tax number | The number on your certificate of incorporation or register extract | Your national business register |
Avoid a failed match
The check compares what you enter with official registers. These are the usual reasons it fails:
- A trading name instead of the legal name
Enter the registered name with its legal form, not a brand or "doing business as" name.
- The office state instead of the state of incorporation
US and Canada: the state or province you were formed in, which is often not where you work.
- The wrong kind of number
Not a personal ID (SSN), a state sales-tax or resale number, a DUNS number, or a branch number such as the French SIRET.
Questions?
About business verification: email suppliers@zageno.com with your company name and the field you are unsure about.
Already completed it? Then there is nothing more to do.
Your contract with ZAGENO
You sign one document: the ZAGENO Supplier Listing Form, with the ZAGENO Supplier Terms attached. It arrives by DocuSign after you complete the onboarding form, filled in with your details. Read the full sample before you start.
- Nothing to pay upfrontNo set-up or listing fee. ZAGENO charges a fee only on orders you receive, invoiced monthly.
- Leave on 90 days' noticeEither party can end the agreement at any time with 90 days' written notice. Orders already placed are completed.
- Your own terms of saleYour shipping, warranty, cancellation and returns policies apply to your products.
What you agree to
A summary of the listing form. The signed document governs.
| Point | What it says |
|---|---|
| Price to ZAGENO | Your list price less the discount you agree, for the products in your catalog. |
| Countries | Only the countries you list. Sales to customers in other countries are not covered. |
| Transaction fee | A percentage of your price to ZAGENO on each order, excluding tax and shipping, set by the payment term you choose. Invoiced monthly. |
| Quote requests | Orders that come from a quote request ZAGENO passes to you carry the same fee, also when the customer then orders from you directly. |
| Order connection | Above 25 orders in a calendar month, connect an automated ordering channel (cXML, EDI, or CSV by API, SFTP or AS2) or handle orders in the Supplier Portal, by the deadlines in the Supplier Terms. After that, orders outside those channels carry one extra percentage point until you connect. |
| Other fees | None. The fees above are the only ones ZAGENO charges, unless both parties agree otherwise in writing. |
| Payment | You invoice ZAGENO after shipping, and ZAGENO pays on the term you chose from receipt of a valid invoice, into your bank account in its currency. Each party pays its own bank's charges. |
| Who orders and pays | ZAGENO Inc. signs. Orders and payments come from ZAGENO Inc. (North America), ZAGENO Ltd (UK) or ZAGENO GmbH (EU), depending on the market. |
| Your terms of sale | Your own shipping, delivery, warranty, cancellation and returns policies apply. You give us the link on the onboarding form. |
| Term and exit | 36 months, then yearly renewals unless either party gives 60 days' notice before a term ends. Either party can also end it at any time with 90 days' written notice. |
What to have ready
The onboarding form asks for these. Your listing form is then filled in from your answers, so you only check and sign.
- Company details
Legal name, registered address, tax ID and company registration number.
- Commercial choices
Your discount off list, the countries you sell to and your payment term.
- Ordering and payment
How you want to receive orders, your accounts receivable email, your bank details and the link to your terms of sale.
Questions?
About the contract: email suppliers@zageno.com.
Signed before November 2026? Your agreement stays under the terms it references.