Skip to content

PandaDoc Catalog: The Complete Guide to the Product Library Behind Your Quotes

Pure Proposals
PandaDoc Catalog: The Complete Guide to the Product Library Behind Your Quotes

The PandaDoc catalog is the central product library inside PandaDoc: every product or service you sell stored once, with its name, SKU, price, description, images and custom fields, so reps pull priced line items into quotes instead of typing them. It is available on Business and Enterprise plans, and it is the single source of truth that pricing tables, Quote Builder, CRM line-item sync and pricing rules all depend on.

Almost every guide we have written about PandaDoc quoting ends up pointing at the catalog, because every downstream feature assumes it: pricing tables pull rows from it, Quote Builder searches it, CRM sync matches against its SKUs, and CPQ rules operate on its items. Yet most accounts treat it as an afterthought, a half-filled list created during a rushed setup week and never owned again. Fear of pricing mistakes came up in 28 of the 129 sales calls we analysed, and nearly all of those mistakes have the same root: a price that lived in a rep’s head or an old document instead of in a governed catalog. This guide covers what the catalog actually holds, how items flow into quotes, the bulk-update workflow, and the governance that keeps it true.

Key takeaways

  • The catalog is gated to Business and Enterprise plans, and Member-role users cannot edit or bundle catalog items: reps consume the catalog, admins own it.
  • A catalog item requires only a name, SKU and price. Everything else is optional: a 500-character rich-text description, up to 10 images, up to 200 custom fields per item, and categories nested up to 8 levels deep.
  • The SKU is the identity of the item. CSV re-imports match on SKU, CRM line-item sync matches on SKU, and changing a SKU silently creates a new product, so SKU discipline is the whole game.
  • Export, edit, re-import is the official bulk-update path: changes flow automatically into pricing tables, Quote Builder blocks and content library items that use those products, up to 100,000 products per import.
  • Items support fixed pricing, volume-based pricing with quantity-tiered discounts, and recurring billing (weekly through annual, Quote Builder only). Bundles hold up to 100 products but do not sync with CRMs or the public API.
  • Editing an item never changes documents already sent, and deleting an item is permanent, so retire products by category or naming convention rather than deletion when history matters.

What a catalog item actually holds

A catalog item needs three things to exist: a product name, a SKU and a price. That minimalism is deliberate, because it makes the catalog fast to stand up, but the optional fields are where the quoting value lives:

  • Description. A rich-text field up to 500 characters supporting bold, italics, lists and hyperlinks. This is the line-item description your client reads on the quote, so write it for them, not for your warehouse system.
  • Images. Up to 10 per item, 10MB each, in JPEG, PNG or WebP. Product photos matter for resellers and hardware quotes; service businesses usually skip them.
  • Custom fields. Up to 200 per item: cost centres, vendor references, margin bands, tax classes, whatever your quoting and reporting need. Two naming traps: a custom field named “Category” or “Folder” blocks the item from saving, and in pricing tables custom-field values surface as plain-text hidden columns that cannot be used in calculations.
  • Cost and currency. Carried in the CSV schema alongside price, and cost is what powers the profit and margin view in Quote Builder. If you want reps and approvers seeing real margin on a quote, cost data has to be in the catalog first.

Categories organise all of it, up to 10,000 of them with 8 levels of nesting, and items can be moved individually or in bulk. Deleting a category asks whether to keep its products (they move to the catalog root) or delete them with it: read that dialog carefully, because deleted items cannot be restored.

The access model is the part teams miss. Member-role users cannot edit or bundle catalog items. That is not a limitation to work around; it is the design. The catalog is an admin-owned asset that reps consume, exactly like the locked templates in a proper PandaDoc template build. The moment everyone can edit products, you no longer have a source of truth, you have a shared scratchpad.

Catalog items vs hand-typed rows

PandaDoc will happily let a rep type a product name and price straight into a pricing table, and that convenience is where quoting accuracy goes to die. A hand-typed row carries whatever name, description and price the rep remembered that day. A catalog row carries the agreed name, the current price and the fields your rules and reporting run on.

The difference compounds. Manual document assembly was the top pain in 82 of the 129 calls we analysed, and the teams suffering most were assembling quotes from memory, old documents and spreadsheets: one team was combining 60-month pricing models from Excel and CRM data by hand for every deal, and another had provincial tax exemption logic that lived entirely in whoever prepared the quote. In both cases the structural fix started in the same place: get the products, prices and the fields the logic needs into the catalog, then make the table pull from it.

Our pricing tables guide makes the same point from the table side: catalog-driven rows are the prerequisite for everything else, because rules, approvals and CRM sync all operate on structured product data, not typed text. If your reps currently free-type line items, fixing that is step one of any quoting improvement, before rules, before approvals, before AI.

How items flow into pricing tables and Quote Builder

In a pricing table, catalog items arrive three ways: the +Products control, inserting from the catalog below a cell, or typing a name or SKU directly into the Name column, which searches the catalog as you type. Two behaviours to know: catalog items cannot be added from the mobile app, and once a volume-based product is in a table its price cannot be edited there, only in the catalog. That last one is a feature: the table takes prices from the catalog, not from the rep.

In Quote Builder, items come in through +Add from catalog, with search across name, SKU, description, custom fields and category. Quote Builder is also where the catalog’s richer pricing lives: bundles and recurring billing work only in the quote block, not in classic pricing tables. Our Quote Builder guide covers the block itself; the short version is that the block is only as good as the catalog behind it, and a quote block pointed at 500 inconsistent SKUs with no cost data is just a faster way to send the same errors.

One reassurance for cautious admins: editing a catalog item never changes documents already sent to clients. A sent quote is a snapshot. Price updates affect new documents and, via CSV import, products sitting in templates, as covered below.

Fixed, volume-based and recurring pricing, and bundles

Catalog items support three pricing shapes:

  • Fixed pricing is a unit price, the default and right answer for most services.
  • Volume-based pricing applies predefined discounts, flat or percentage, keyed to the quantity the client selects. This moves quantity-break logic out of the rep’s judgement and into the item, which is precisely where our CPQ clients want it: the rep sells, the catalog prices.
  • Recurring pricing bills weekly, monthly, quarterly, semiannually or annually, collected through Stripe, and works only in Quote Builder.

Bundles group up to 100 products into one sellable item, priced either as a calculated subtotal of the contents or a custom amount with manually set price and cost. Bundles can mix one-time and recurring products, but they come with hard edges: bundles cannot contain other bundles, cannot be imported from or updated by a CRM, and are not supported through the public API. If your CRM is the system of record for line items, model packages as individual SKUs and let the CRM carry the grouping, or accept that bundles are a PandaDoc-only concept maintained by hand.

The CSV workflow: how bulk updates actually work

The catalog has a proper bulk pipeline, and it is the mechanism behind every price review: export the catalog to CSV, edit it in a spreadsheet, re-import. Matching runs on SKU, so a re-uploaded row with an existing SKU updates that product in place, and the update flows automatically into pricing tables, Quote Builder blocks and content library items that use it. That propagation is the headline: a price change landed through CSV fixes your templates too, without anyone opening them.

The limits are generous (100,000 products per import, 30MB per file, exports of up to 100,000 records) so the constraints that bite are the fiddly ones:

  • Files must be UTF-8 encoded, and column headers must match the catalog’s field names exactly.
  • Decimal commas in Price or Cost fail the import; use periods.
  • Spreadsheet apps turn long numeric SKUs into scientific notation (1.23E+10), which then imports as a new, wrong SKU. Format SKU columns as text before saving.
  • Image links must be public HTTPS URLs.
  • Changing a SKU does not rename a product, it creates a new one, leaving the old item orphaned. If you must re-SKU, plan it as a migration, not an edit.

Run the export-edit-reimport loop on a schedule and the catalog stays current. Run it never, and within a year reps are overriding prices by hand again.

CRM sync lives and dies on the SKU

Every native CRM integration that moves line items (HubSpot, Salesforce, Pipedrive, Zoho, Dynamics) matches products between systems on SKU. Our Pipedrive setup guide documents the rule explicitly: for catalog products, line-item sync back to the CRM runs on SKU, so PandaDoc SKUs must match the CRM’s product codes exactly. The same discipline applies in the other direction: deal line items arriving in a document resolve cleanly when the SKUs agree, and turn into unmatched custom rows when they do not.

This means the catalog and the CRM product library are one dataset maintained in two places, and your SKU scheme is the join key. Decide which system is the source of truth, mirror changes to the other as part of the same change process, and never let either side invent SKUs ad hoc. If your stack is HubSpot-first, the PandaDoc HubSpot integration carries line items both ways, which makes catalog hygiene a pipeline-accuracy issue, not just a document one.

On Zoho CRM, the PandaDoc Zoho CRM integration guide covers the column mapping (Name, Description, Price, Quantity, SKU, Discount) and the quirks that break imports, such as a quantity field not named exactly “Quantity”. On Copper, which has no quote object, the catalog is where pricing lives: the PandaDoc Copper CRM integration guide shows how to quote from the Opportunity instead.

Currency is the other alignment point: the CSV schema carries an ISO currency code per item, and every product in one quote block shares a currency, so multi-currency sellers should segment the catalog by currency (categories work well) rather than improvising per deal.

Governance: the catalog is an admin job, not a setup task

The catalog decays on the business’s schedule: every price change, new service, retired SKU or repackaged bundle has to land in it before the next quote goes out, or reps route around it. Our PandaDoc admin guide treats catalog and pricing upkeep as the first of the five recurring admin jobs, and the operating rules are short:

  • Apply price and product changes as they happen, not at quarter end. A quote sent between the price change and the catalog update is an unintended discount or an overcharge to walk back.
  • Run a quarterly catalog review anyway: retire dead SKUs, fill missing costs and descriptions, and reconcile against the CRM product library.
  • Keep edit rights narrow. The role model already does this (Members cannot edit items); do not widen it with admin accounts handed out for convenience.
  • Treat the CSV export as your audit trail: exporting before any bulk change gives you a rollback file for free.

Sequencing matters too. Catalog first, then templates, then rules, approvals and CRM wiring is the build order of a proper PandaDoc implementation, because every later layer assumes the one before it. And when quoting carries real complexity, tiered pricing, bundles, margin gates, conditional terms, the catalog is the data layer that PandaDoc CPQ operates on: rules can only add, remove and reprice items that exist as governed data. A CPQ build on a messy catalog automates the mess.

Frequently asked questions

Which PandaDoc plans include the product catalog? Business and Enterprise. Within those accounts, Member-role users cannot edit or bundle catalog items; catalog management sits with owners, Admins and Managers. Richer catalog features gate by surface rather than plan: bundles and recurring pricing work only in the Quote Builder block.

How do I update many prices at once? Export the catalog to CSV, edit prices in a spreadsheet, and re-import. Rows match on SKU, so existing products update in place, and the changes propagate automatically into pricing tables, Quote Builder blocks and content library items that use them. Keep the pre-change export as a rollback copy, use periods for decimals, and format SKU columns as text so long SKUs do not corrupt into scientific notation.

Does updating a catalog item change quotes I already sent? No. Documents already sent to clients are unaffected by catalog edits. Updates apply to new documents, and CSV-imported changes also refresh products sitting in templates and library items. Deleting an item, by contrast, is permanent and cannot be restored, so prefer retiring items into an archive category.

Why are my CRM line items not matching catalog products? Almost always SKUs. Line-item sync between PandaDoc and CRMs like HubSpot and Pipedrive matches catalog products on SKU, so a PandaDoc SKU that differs from the CRM product code by a space, case or suffix breaks the match. Align the two product libraries on one SKU scheme and change them together.

Is the catalog worth maintaining for a small services business? If you send more than a handful of quotes a month, yes. The catalog is what stops prices living in reps’ heads, and it is the prerequisite for the features you will want next: optional items, quantity rules, margin visibility and CRM sync. A 20-item services catalog takes an hour to build via CSV and removes the most common quoting error there is: the confidently typed wrong price.