0 callouts · 0 OAuth scopes · 0 connected apps
Salesforce closes the deal. LinePDF gets it paid.
Quote, invoice, PO, and change-order PDFs that actually add up — per-line tax, per-line discount, section subtotals. 100% native Apex. Your data never leaves your org.
Free on AppExchange — security review in progress. The early-access list gets the install link first.
Northway Fabrication Inc.
411 Industry Ave, Kelowna BC
accounts@northwayfab.example
QUOTE
Q-04217
2026-06-11 · valid 30 days
PREPARED FOR
Halcyon Foods Ltd.
Packaging line retrofit, Plant 2
TERMS
Net 30 · USD
| # | DESCRIPTION | QTY | UNIT | DISC | TAX | AMOUNT |
|---|---|---|---|---|---|---|
| LINE 100 · FABRICATION | ||||||
| 1 | Conveyor drive assembly 2 HP, 480 V, gearmotor included | 8 | $240.00 | 10% | 5% | $1,814.40 |
| 2 | Stainless guide rail, 3 m 304 SS, food-grade | 16 | $95.00 | · | 5% | $1,596.00 |
| Section subtotal (net of discount, before tax) | $3,248.00 | |||||
| LINE 200 · CONTROLS | ||||||
| 3 | PLC control cabinet panel-built, UL 508A | 2 | $1,450.00 | 5% | 5% | $2,892.75 |
| 4 | Commissioning service on-site, zero-rated | 1 | $1,200.00 | · | · | $1,200.00 |
| Section subtotal (net of discount, before tax) | $3,955.00 | |||||
Generated with LinePDF
Your quote PDF is fighting a 2012-era CSS engine. It's losing.
Salesforce's built-in PDF renderer was frozen around 2012 — it understands a fraction of the layout rules every modern website takes for granted. Every org ends up with a hand-rolled document from 2019 fighting that engine, and the line-item table is exactly where it loses. Not because anyone was careless. Because the platform makes correct financial tables genuinely hard.
Totals that don't match CPQ math
Stack a 10% line discount on an account discount and the rendered total drifts from the system total. Your customer's AP department finds it before you do.
Tax computed on the document, not the line
One tax rate smeared across mixed-rate lines. Exempt services taxed. Jurisdictions ignored. The PDF disagrees with the invoice record it came from.
Page breaks mid-row
Forty-line quote, page two starts in the middle of a table row, headers gone, orphaned subtotal. There is no CSS fix your renderer respects.
The logo as a 72 dpi smear
Print-resolution images need print-resolution handling. The default pipeline scales your brand into fuzz on every document you send.
And the broken PDF is only half the dead zone.
Between Closed Won and cash in the bank there's a stretch Salesforce doesn't cover: line-item math the AP department bounces, documents that render and then sit unsent, invoices nobody chases until week six. LinePDF closes that loop natively. The generation engine — the part that makes the math right — runs in production today. The get-paid layer on top — e-delivery with tracking, Stripe payment links on the invoice through your own Stripe account, automated reminders, paid status written back to the record — ships with the AppExchange listing. What's live and what's roadmap is marked plainly on the pricing below.
The table is the product.
LinePDF isn't a merge tool with a table feature bolted on. The line-item engine is the core: it computes per line, in integer cents, and the document inherits the math. If the table can't be made to add up, we treat that as a bug, not a styling preference.
| DESCRIPTION | QTY | UNIT | DISC | TAX | AMOUNT |
|---|---|---|---|---|---|
| SECTION A · WAREHOUSE FLOOR | |||||
| LED high-bay fixture | 12 | $48.00 | −15% | 7% | $523.87 |
| MC cable run, 50 ft | 6 | $130.00 | · | 7% | $834.60 |
| Section subtotal | $1,269.60 | ||||
| SECTION B · MEZZANINE | |||||
| Lift rental + install crew | 1 | $950.00 | −5% | 0% | $902.50 |
| Section subtotal | $902.50 | ||||
| Net | $2,172.10 | ||||
| Tax | $88.87 | ||||
| Total | $2,260.97 | ||||
✓ every figure above is computed in this page's source, not typed in
No developer? You don't need one.
Five templates ship ready to run — quote, invoice, PO, packing slip, change order — and setup is point-and-map: pick your object, map your fields, all clicks. When you want a custom layout, you describe it and an AI builds it.
Describe the document you want
Tell your AI — Claude, Agentforce, or ours — what the invoice should look like. It writes the template, saves it to your org, and you approve the preview. You never touch code.
Drop it into any Flow with clicks
Generating a document is a ready-made action in Flow Builder: pick the template, pick the record, choose where the PDF goes. Point and click, the way you already build automation.
Ask your agent to send it
Tell Agentforce “send Halcyon the updated quote” and the PDF it attaches has totals the engine has already verified. Document generation your agent can be trusted with.
Flow, REST, and Agentforce are all included free, at every tier. Automation is never the upsell.
Under the hood: a template is plain, readable text stored in your org — no binary blobs, no GUI builder lock-in — which is exactly why an AI can read it, edit it, and write it back. Here's a complete template and the three automation surfaces.
<template object="Quote">
<header>
<img src="{{Org.Logo}}" />
<h1>Quote {{Quote.QuoteNumber}}</h1>
</header>
<line-table source="QuoteLineItems" group-by="Section__c">
<col field="Description" />
<col field="Quantity" align="right" />
<col field="UnitPrice" format="currency" />
<col field="Discount__c" format="percent" />
<col field="Tax_Rate__c" format="percent" />
<col field="Line_Total__c" format="currency" />
<section-subtotal />
</line-table>
<totals subtotal discounts tax grand-total />
</template>That's the whole template. Your data stays in your org; so does the thing that renders it.
Action LinePDF · Generate Document
templateKey "Quote_Standard"
recordId {!$Record.Id}
delivery "Attach to record"
fileName "Quote {!$Record.QuoteNumber}.pdf"Drop the invocable action into any flow. No code, no formula gymnastics.
SECURITY MODEL
0 callouts. 0 OAuth scopes. 0 connected apps.
In 2025, 700+ Salesforce orgs were exfiltrated through a single third-party OAuth integration. The lesson isn't “vet your vendors harder.” It's that the safest data path is the one that doesn't exist. LinePDF renders entirely inside your org, in native Apex. There is no network call to make, no token to steal, no vendor server to breach.
Every check lives in Setup or on the security page. If you do have a developer — or an AI — they can confirm the last one in minutes.
Nothing leaves the org
Rendering, templates, themes, and output files all live in your Salesforce org. ShareCo has no servers in the data path and never sees a byte of your data.
You can read everything
Templates are plain text in a custom object. The install footprint is a short list of objects and classes, documented on the security page, inspectable before anything touches prod.
No license server in the render path
Documents generate whether or not ShareCo exists. If we vanish tomorrow, your invoices still render on Thursday.
Sandbox first, always
Install into your sandbox with the security one-pager open and read exactly what's in the package. Nothing goes to production until you've inspected it.
Pricing that doesn't need a sales call.
Flat numbers, published. No per-seat fees, no contract minimums, no per-document metering. Install free from the AppExchange listing; upgrade in-app when you need branding or the get-paid layer.
FREE · LIVE TODAY
no card, no trial clock
- Unlimited documents, no metering
- 3 templates
- All automation entry points: Flow, REST, Agentforce
- LinePDF theme with a “Generated with LinePDF” footer
AppExchange security review in progress. The list gets the install link first.
PRO
or $499/yr prepaid · no per-seat · no minimums
- Your logo, branding, and themes
- Unlimited templates
- LLM template-authoring pack (prompt kit + schema docs)
- Batch and scheduled generation
Flat per org. Compare: incumbents start near $3,000/yr.
SCALE
Roadmap — shipping with the listingthe get-paid layer · no per-seat · no minimums
- Everything in Pro
- E-delivery with open tracking
- Stripe payment links on invoices — your own Stripe account, keys stored in your org
- Automated payment reminders
- Paid-status writeback to the record
Zero middleman, still: ShareCo never touches the money path.
Get the install link first.
The package is in Salesforce's security review for a free AppExchange listing. The early-access list gets the install link before the listing goes public, plus the security one-pager to hand your admin.
Asked by admins. Answered straight.
No. Setup is point-and-map: pick your object, map your fields, choose a template — all clicks, nothing to code. Five templates ship ready to run, and generating a document from a Flow is a ready-made action you drop in like any other element. When you want a custom layout, you describe it and an AI writes the template — Claude, Agentforce, or ours. LinePDF is built for teams that don't have a Salesforce developer and don't want to hire one for their invoices.
The package is in Salesforce's security review for a free AppExchange listing. Reviews run on Salesforce's clock, not ours (the queue runs weeks, with a resubmission cycle roughly half of all packages go through), so we won't promise a date we don't control. The early-access list gets the install link first, before the listing goes public, along with the security one-pager to hand your admin. Join it from the pricing section.
Because the package hasn't cleared Salesforce's security review yet — it's in review now for the AppExchange listing. Until it clears, every direct-URL install of any package shows that warning. We don't hide from it: install into a sandbox first with the security one-pager open and read exactly what's in the package before it touches prod. The Apex makes zero callouts; you can verify that in the code.
No. Rendering is 100% native Apex inside your org. There are no external callouts, no OAuth scopes, no connected apps, and no ShareCo servers in the data path. We never see a byte of your customer data. The only data we hold is what you send us by email or through this website's contact form.
Two ways. First, the line-item engine: per-line tax, per-line discount, section grouping, and totals that cross-foot, which is exactly where generic merge loops break (it's the #1 complaint in incumbent reviews). Second, pricing: flat $49/org/month with no per-seat fees and no contract minimums, against incumbents that start around $3,000/yr. They're capable products when your documents are simple. Ours earns its keep when the math has to be right.
They're genuinely good, and if your documents are simple, use them. LinePDF exists for the documents they render wrong: stacked discounts, mixed tax rates on one document, section subtotals that have to reconcile with CPQ math, change-order deltas. If a generic merge loop handles your docs, you don't need us.
Any parent object with child line records, standard or custom. Five templates ship ready to run: quote, invoice, PO, packing slip, and change order, mapped to standard objects and easily re-pointed at custom ones. The template declares its object and line source; the engine does the rest.
Yes, that's the design constraint the template format was built around. A template is plain, readable HTML with merge syntax, stored in a text field on a custom object in your org. There is no binary format and no GUI builder lock-in. Claude or Agentforce can read your current template, modify it, and write it back. Pro includes the prompt kit and schema docs that make this reliable.
Built and running today: the line-item engine, templates, themes, and every automation entry point — Flow, REST, Agentforce. Shipping with the AppExchange listing: the get-paid layer — e-delivery with open tracking, Stripe payment links on invoices (your own Stripe account; keys live in your org, never on our servers), automated payment reminders, and paid-status writeback. The pricing section marks which is which; we won't sell you a tier whose features don't exist yet.
Your documents keep generating. The package runs entirely in your org, the templates are plain text you own, and any Salesforce developer can read them. There is no license server in the render path and no dependency on us being alive. That's deliberate.
Something else? hello@shareco.ca goes straight to the founder.