Skip to main content

Can a PandaDoc proposal's pricing table become the AR invoice basis?

Structurally, yes. A PandaDoc pricing table stores typed rows with name, price, quantity, tax, and fee fields — real data an AR workflow can read directly, unlike a DocuSign envelope's free-text fields. The catch is timing and accuracy: the invoice basis should come from the signed document's final pricing table, not a draft version that changed during negotiation.

Zuny FesterBy Zuny Fester, Head of Operations and Marketing
Reviewed by Zuny Fester
Published Last reviewed Editorial policy

Part of the finance integrations guide.

What a pricing table holdsRows with typed Name, Price, Quantity, Tax, and Fee fields, plus table-level tax/fee options
Why this differs from DocuSignDocuSign has no equivalent structured object — only free-text tabs and custom fields
Real riskReading the pricing table from the proposal draft instead of the final signed version can pull pre-negotiation numbers
Row-level tax handlingTax must be set both at the table level and, per PandaDoc's own docs, included at the row level (set to 0 to inherit the global value) — a missed row-level value can silently zero out tax on that line
Where to read fromThe completed document's pricing table data, fetched after signature, not the template or an in-progress draft

What makes PandaDoc's pricing table usable for AR

Loopfour's PandaDoc integration creates documents through createDocument, which accepts a pricingTables array with sections and rows. Each row carries typed data — a Name, a Price as a number, a Quantity, and optional Tax, Discount, and Fee values expressed as percentages. That's real, structured line-item data, close in shape to what an AR invoice needs: a description, a unit price, a quantity, and the tax treatment. It's a fundamentally different data model from DocuSign's tabs and custom fields, which carry no equivalent structured object at all.

Where it still goes wrong

  • Reading the wrong version — a proposal's pricing table can change during negotiation (a line removed, a quantity adjusted, a discount applied) before it's signed. An AR workflow that reads the pricing table at document-creation time, rather than after completion, invoices the original draft numbers, not what the customer actually agreed to.
  • Table-level vs. row-level tax mismatch — PandaDoc's own documentation is explicit that tax has to be set at both the table level and each individual row (set to 0 to inherit the global value if it's meant to be the same). A row created without its own tax value can silently end up untaxed even when the table-level setting says otherwise.
  • Multichoice sections — pricing tables can include a multiple-choice section where the signer picks one product from several options. An AR workflow that reads every row in the section, instead of only the one the signer actually selected, invoices for options that were never agreed to.

The reliable pattern

Read the pricing table from the document's completed state — after it's been signed, not while it's still in a sent or draft status — and confirm the workflow is reading selected rows in a multichoice section, not every row that was ever presented as an option. Treat the row-level tax and fee fields as required inputs to check, not values that safely default, since a missing row-level entry can silently diverge from the table-level setting.

Next step

Map the finance workflow with the most exposure and prove the automation path.

Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.

Book a workflow review

Field mapping

PandaDoc pricing-table row fields vs. AR invoice line fields

AR invoice line needsPandaDoc pricing-table fieldFormat
DescriptionNameText
Unit pricePriceNumber, e.g. 15.0
QuantityQTYNumber
Tax rateTax{ value, type: "percent" }, table- and row-level

Frequently Asked Questions

The fields are typed as numbers in the API — this is a real structural difference from DocuSign's free-text tabs and custom fields, not a workflow-side convention that could be typed incorrectly by a human.

You get whatever values are in the document at that moment, which may not match the final signed version if the proposal was still being negotiated — always confirm the document's status before treating its pricing table as final.

No — DocuSign has no equivalent structured pricing object. A DocuSign envelope's tabs and custom fields are free-text, which is exactly why extracting AR-ready line-item data from a DocuSign contract is a materially harder problem.

Sources

Related