Are you maintaining a hosted catalogue or an index?
This is the question that decides your whole maintenance bill, and the word “catalogue” covers three different things that cost very different amounts to keep current. Procurement teams use the word for all three, so establish which one you are being asked for before anyone quotes the work.
A hosted catalogue is a file of your items that lives inside the buyer’s system. On SAP Ariba that is a CIF file, and SAP’s own supplier guide requires a value in the first seven columns of every row, including Supplier ID, Item Description, SPSC classification code, Unit Price and Unit of Measure. Your prices sit in someone else’s software until you replace the file.
A punchout catalogue is the opposite arrangement. In Ariba’s own description it is “stored on your website” and shows the buyer “a hyperlink instead of product or pricing details”, so the buyer punches out and sees live pricing and customer-specific content from your storefront. Nothing about your prices is held on their side.
Level 2 punchout sits between the two, and it is the one people get wrong. It adds a small index file so your items are searchable inside the buyer’s system and a buyer can land on a specific product rather than your home page. The index typically carries no pricing at all: it exists to make items findable, and the price is still resolved on your site during the session. Technically it works by adding a SelectedItem node carrying your SupplierPartID to the cXML PunchOutSetupRequest, and without that node the request simply lands on your home page as a Level 1 punchout would.
| Criterion | Hosted catalogue (CIF or CSV) | Punchout, Level 2 index | Punchout, Level 1 |
|---|---|---|---|
| Where your item data lives | In the buyer’s procurement system, as a file you uploaded. | A thin index in their system, the real content on your site. | Entirely on your site. |
| Does it carry your pricesThis is the row that decides how often you are in an approval queue. | Yes. Unit Price is a required field, and Ariba validates zero prices as an error. | Typically no. Price resolves live on your storefront during the session. | No. |
| What a price change costs | A full re-upload and a fresh trip through validation, per customer. | Nothing, if price is not in the index. | Nothing. |
| Can the buyer search your items in their own system | Yes, that is the point of it. | Yes, from the index. | No. They see your company name and click through. |
Checked against: SAP Ariba, Creating and managing catalogs (supplier guide): the required CIF columns, and punchout catalogues described as stored on the supplier website showing a hyperlink instead of pricing. Public copy hosted by Evonik, because help.sap.com disallows crawling. Read 27 August 2026, PunchOutCommerce, cXML Level 2 punchout: the index catalogue, the SelectedItem and SupplierPartID nodes, and the note that index files typically do not contain pricing. Read 27 August 2026
What actually happens when you change a price?
If you run a hosted catalogue, a price change is not an edit. It is a publication, and it goes through a queue that belongs to your customer.
On SAP Ariba the sequence is documented and worth reading in full before you promise anyone a turnaround. You upload the replacement, the Ariba Network validates it first for errors, zero prices and basic classification and unit-of-measure compliance, and the file comes back as “Validated, Published or Pending Buyer Validation” if it is clean, or as “Errors Found by Ariba Network” or “Bad Format” if it is not. Passing that is not the end. The customer then runs its own audit, with rules their guidance says “may be more strict than the standard Network rules”, and their approval is mandatory before the catalogue reaches their buyers.
Two mechanical details in that process cost people money. You upload the entire catalogue rather than the changed rows, because the Ariba Network does not merge partial catalogues. And you keep the same catalogue filename for every version, so the buyer’s team can see it as a new version of something they already approved rather than as a new catalogue to evaluate from scratch.
Coupa is structurally the same story with different words. A catalogue in the Coupa Supplier Portal moves through Draft, then Awaiting or Pending Approval once the customer has it, then Accepted, and the portal is explicit that an Accepted catalogue is what makes items “available for purchase within Coupa”. Rejected and Error both mean a conversation with the customer rather than a fix you can make alone. And it is one catalogue per customer: the portal has a customer selector, so five trading partners is five catalogues, five approval chains and five schedules.
So the honest read on turnaround is that you do not have one. You control when you upload. Your customer controls when it goes live, and they are not working to your price list dates.
Checked against: SAP Ariba, Creating and Publishing Static Catalogs: the Network validation step, the mandatory customer approval, the named statuses, and the rule that a replacement keeps the same catalogue name and increments the version. Public copy hosted by the City of Edmonton. Read 27 August 2026, Coupa supplier documentation, View and manage catalogs: the five statuses, the approval chain, and the per-customer catalogue selector. Read 27 August 2026, SAP Ariba supplier guidance on uploading the entire updated catalogue rather than partial changes, and reusing the filename across versions. Same public copy as above. Read 27 August 2026
Where the price lives is the whole maintenance question
Put the two facts above next to each other and the design decision makes itself. A hosted catalogue requires Unit Price on every row, and every change to it is a full re-upload through an approval chain you do not control, once per customer. A punchout session reads the price from your storefront at the moment the buyer arrives.
For a seller whose prices come out of an ERP, that difference is the difference between a standing operational job and no job at all. If Contract pricing is a price that applies to one customer or one group of customers rather than to everyone. In B2B it is normal for the same product to have a different price for every account on the book. What is contract pricing? is calculated in Acumatica and your storefront reads it live, a price change reaches every punchout buyer the moment it is saved in the ERP, with nobody approving anything. If the same price is sitting in a CIF file inside four procurement systems, the same change is four uploads and four queues, and until the last one clears, different customers are looking at different prices for the same item.
That is also the honest reason to get the storefront right before the punchout connection rather than after. Punchout does not compute anything. It signs the buyer in as their company and shows them what your site would show that company anyway, which means it faithfully delivers whatever your pricing logic produces, correct or not, into a system where it becomes an approved requisition.
The practical rule we would apply: keep the index file to identity and classification, keep price out of it, and let the ERP own price at session time. Then catalogue maintenance stops being a pricing problem and becomes an assortment problem, which is a much smaller one.
The maintenance work that is missing from the quote
None of this appears on a punchout provider’s pricing page, and all of it is real. Each item is small. Together they are a standing job that needs an owner rather than a volunteer.
Classification codes, per item. A hosted catalogue needs an SPSC or UNSPSC code on every row and Ariba validates it. Nobody in your business currently owns that field, and the item master almost certainly does not have it.
Unit of measure, per item, and it has to match how you actually sell. A catalogue that says each where the ERP sells cases produces an approved requisition at a twelfth of the intended value.
Discontinued items. Something has to stop them appearing in a buyer’s search, and on a hosted catalogue that is another full re-upload and another approval cycle.
Per-trading-partner setup and testing, on the buyer’s schedule. Every new customer connection is configured and tested individually by their team, and they are not queuing for you.
Somebody to answer when a session fails. From the buyer’s side, your website has broken inside their ERP, and they will phone the person who sold to them.
A re-check whenever the protocol version moves. Version-sensitive claims in this space go stale quietly, so name the version you tested against and re-read it rather than assuming.
When a hosted catalogue is the right answer anyway
The argument above points at punchout for most ERP-connected sellers, so here is the other side of it, because a comparison with no losing scenario for the option we like is a sales page.
A hosted catalogue is genuinely better when your assortment is small and stable, your prices are fixed for a contract term, and the buyer’s procurement policy wants your items searchable alongside every other supplier’s without leaving their system. In that shape the re-upload problem barely exists, because there is nothing to re-upload, and you avoid the operational load of running a punchout endpoint at all.
It is also the right answer when your storefront cannot yet show a customer their own negotiated prices. A punchout session that resolves the wrong price live is worse than a hosted file with the right price frozen in it, because the wrong price arrives inside the buyer’s approval chain wearing your name. Fix the pricing first, then move the price out of their system and into yours.
And if you are being asked for punchout by exactly one customer, the maintenance load in this page is a reason to price the work honestly and let them see the number, not a reason to absorb it quietly.
The wider picture
This page answers one narrow question. Acro Commerce covers the strategy around it.
Common questions
- Do I have to re-upload the whole catalogue to change one price?
- On SAP Ariba, yes. Its supplier guidance is explicit that you upload the entire updated catalogue rather than only the changes, because the Ariba Network does not merge partial catalogues. Keep the same catalogue filename so it registers as a new version of something already approved. Checked 27 August 2026, and worth re-reading before you plan a price rise, because this is exactly the kind of rule that changes quietly.
- How long does a punchout catalogue change take to go live?
- That is not your decision. On Ariba the file passes Network validation and then waits for the customer’s own audit, whose rules their guidance says may be stricter than the Network’s, and their approval is mandatory. On Coupa it sits in Awaiting or Pending Approval until their approval chain clears it to Accepted. Plan a price change around your customers’ queues rather than your own calendar.
- Does a punchout index catalogue contain prices?
- Usually not. A Level 2 index exists to make your items findable inside the buyer’s system and to land them on the right product page, and the price is resolved on your storefront during the session. That is the single biggest lever on maintenance cost: keep price out of the index and a price change costs you nothing on the procurement side.
- Can one catalogue serve all of my punchout customers?
- No, and not just for technical reasons. The Coupa Supplier Portal organises catalogues per customer behind a customer selector, so each trading partner is a separate catalogue with its own approval chain. The commercial reason matters more: a punchout session signs the buyer in as their company, so the prices and the assortment they should see are theirs specifically, which is the opposite of one shared file.
- What is the difference between a hosted catalogue and punchout?
- A hosted catalogue is a file of your items, including prices, that sits inside the buyer’s procurement system. Punchout keeps your content on your own site: in Ariba’s own words a punchout catalogue is stored on your website and shows the buyer a hyperlink instead of product or pricing details, so they click through and see live pricing and customer-specific information. One freezes your prices in their software, the other reads them from yours.
- We already have punchout live. What should we be doing every month?
- Three things, and none of them is the connection. Check that discontinued items have stopped appearing in each buyer’s search. Check that the classification codes and units of measure on anything new are right, because those are the fields that produce an approved requisition at the wrong value. And confirm somebody owns the phone when a buyer’s session fails, since from their side your storefront broke inside their ERP.
Last updated 2026-08-27. Facts on this page last checked against source 2026-08-27.
