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.
Part of the finance integrations guide.
| What a pricing table holds | Rows with typed Name, Price, Quantity, Tax, and Fee fields, plus table-level tax/fee options |
|---|---|
| Why this differs from DocuSign | DocuSign has no equivalent structured object — only free-text tabs and custom fields |
| Real risk | Reading the pricing table from the proposal draft instead of the final signed version can pull pre-negotiation numbers |
| Row-level tax handling | Tax 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 from | The 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.
Field mapping
PandaDoc pricing-table row fields vs. AR invoice line fields
| AR invoice line needs | PandaDoc pricing-table field | Format |
|---|---|---|
| Description | Name | Text |
| Unit price | Price | Number, e.g. 15.0 |
| Quantity | QTY | Number |
| Tax rate | Tax | { value, type: "percent" }, table- and row-level |
Frequently Asked Questions
Sources
Related
Topic
AR & Collections
Accounts receivable is the money customers owe a business for goods or services already delivered on credit — a current asset on the balance sheet until it's collected. AR and collections, as a practi…
Read moreTopic
Integrations
Every finance automation vendor publishes an integrations page: a grid of logos, a claim of "seamless" connectivity, and not much else. That page answers a marketing question — does this vendor touch…
Read moreDiagnostic
Does a DocuSign envelope carry contract-value data for revenue recognition?
No, not as a structured field. A DocuSign envelope exposes signer-facing tabs and free-form custom fields, but neither is a line-item or deal-value object — tabs collect data a signer enters or reviews, and custom fields store metadata as arbitrary strings. There is no built-in field a revenue-recognition workflow can read as "contract value."
Read moreHow-to
How do I get transaction price out of a PandaDoc document for ASC 606?
Read the pricing table's row-level Price, Quantity, and Discount fields from the completed document, not the template — PandaDoc's Document Details endpoint exposes this programmatically. Sum the row totals for the transaction-price basis ASC 606 needs, then handle Tax separately: it's a distinct field, generally excluded under the ASC 606-10-32-2A practical expedient.
Read more