Overview
A PDF Drag & Drop contract template lets you upload your existing contract PDF and place dynamic fields on top of it. When a customer accepts a proposal, OpenSolar fills those fields with live project data and presents the completed PDF for review and signature.
Use PDF Drag & Drop when you want:
- Your existing branded layout and typography preserved
- Precise placement of fields on specific pages
- Fast setup from a finished PDF (no retyping the contract in OpenSolar)
Use the Text Editor (HTML) instead when you need to write the contract in OpenSolar or use conditional sections (for example, show battery terms only when a battery is included).
Important: Editor type (PDF Drag & Drop vs Text Editor) is chosen when you create the template and cannot be changed later.
Before you start
- Prepare a clean PDF of your contract (final wording, page breaks, branding).
- Keep the file under 10 MB.
- Have a sample project ready with a system design and payment option that include the data you want on the contract (contacts, pricing, equipment, loan fields, etc.).
- Optional: connect DocuSign or PandaDoc if you want e-signature through those providers.
- Decide whether this template should auto-apply org-wide, by payment type, or only when selected on a project.
Step 1 — Open Contract Templates
- Go to Control.
- Open Purchase Experience.
- Select Contract Template.
You will see My Contracts List.
Step 2 — Create a new PDF contract
- Click + Add Contract
- Complete the create form:
| Field | What to enter |
|---|---|
Title |
Internal name (for example, “Residential Loan Contract – PDF”) |
Language |
Language customers will see |
Editor |
Choose PDF Drag & Drop
|
Auto-apply |
Turn on if this template should apply automatically when filters match |
- If Auto-apply is enabled, optionally set:
- States and/or ZIP codes (US)
- Default for org
- Override default for specific payment types (Loan, PPA, Cash, Regular Payment, Lease, Prepaid Lease, Prepaid PPA)
- Click Save.
The PDF upload and field placement happen on the Edit page after you save — not on the Create form.
Product guidance:
The PDF Drag-and-Drop is the fastest way to get your document set up. This option lets you upload your file and drag fields directly onto it without having to worry about formatting the underlying document.
Step 3 — Upload your PDF
On the Edit page for your new template:
- Find Step 1: Upload the PDF.
- Click Import File (or the upload area).
- Select your PDF.
Accepted types include PDF (and images). Maximum size: 10 MB.
Pages in the finished contract come from this uploaded file. You navigate with Prev Page / Next Page; you do not add or delete pages inside OpenSolar.
Step 4 — Load sample project data
Placeholders unlock only after you load sample data.
- Find Step 2: Load Sample Data.
- Select:
| Control | What to pick |
|---|---|
Project |
A real sample project (Enter a project) |
System Design |
The system that has the data you need |
Payment Option |
The payment type this contract is for (Cash, Loan, etc.) |
- Click Load Sample Data.
If you skip this step, you will see:
To access placeholders please select a sample project, system, and payment option and then click the "Load Sample Data" button above.
Why sample data matters
- It unlocks the Field Placeholders list.
- Preview values come from that project/system/payment option.
- Choose a sample that includes every field you plan to place (for example, a loan option if you need lender/term fields).
- Re-load sample data if you change project, system, or payment option.
Step 5 — Drag placeholders onto the PDF
- Open the Field Placeholders panel.
- Use Search Placeholders or browse categories.
- Drag a field onto the PDF page where it should appear.
- Move it into position; use zoom and Prev/Next Page as needed.
- Click a placed field to Format or Delete.
Placeholder groups you will commonly use
| Group | Examples |
|---|---|
Popular |
Curated common fields (customer, address, system size, pricing, equipment, signatures/images) |
Project / Contacts / Company |
Address, primary customer, all customers, your company, assigned team member |
System / Payment Option |
Capacity, modules/inverters/batteries, prices, adders, loan/PPA fields |
Custom content |
Enter any static text you want (free text), or Custom Django Tags
|
DocuSign / PandaDoc |
Signature, initials, date signed, name, email, checkboxes (when Integration is set) |
Many price fields (for example system price or down payment) default to Currency formatting when dropped.
Step 6 — Format placed fields
Select a field on the PDF, then open Format. Typical options:
| Setting | Use it for |
|---|---|
Width / Font Size
|
Fit the field into your layout |
Number of Lines |
Multi-line text areas |
Number Formatting |
Number or Currency
|
Rounding |
Decimal control for numeric values |
Date Formatting |
Sale/install dates and similar |
Enable Formula |
Plus / Minus / Multiply / Divide using a static number or another field |
Is Checkbox |
Checkbox-style fields |
Default Value when Blank |
Fallback when project data is empty |
Also available:
- Adjust font size for all placeholders? → Apply to All Placeholders
- Preview toggle to declutter the PDF while reviewing
Notes:
- Custom Django tags may show Preview unavailable in the editor — confirm by generating a contract on a real project.
- Formula results may not fully update in the editor preview; verify on a generated contract.
Step 7 — Optional: DocuSign or PandaDoc
On the Edit page, set Integration:
- None — OpenSolar native review and sign
- DocuSign — if your org is connected
- PandaDoc — if connected and enabled for your org
Then:
- Drag DocuSign / PandaDoc fields from the placeholders panel onto the PDF (customer signature, countersigner, date signed, etc.).
- Under DocuSign Settings or PandaDoc Settings, configure:
- Enable countersigner
- Dynamic (Assigned Team Member) or Fixed countersigner
- Countersigner name/email
- Optional DocuSign PDF header visibility
- Consumer protection guide templates where applicable
- Save. Validation will warn if countersigner tags do not match the countersigner settings.
Step 8 — Save and assign the template
Click Save on the contract edit page.
How the template gets onto a project
A. Auto-apply (org default)
If Auto-apply is on and the project matches your filters / payment-type defaults, the template is selected automatically.
B. Per project or per system / payment option
- Open the project → Online Proposal.
- Expand Contract Template settings.
- Choose:
- Set Per Project — one template for the whole project, or
- Set Per System/Payment option — different templates per payment option
- Select your PDF template (or Default).
Step 9 — Test the customer experience
- Open a project that uses the template.
- Preview / accept the proposal and open the sign-contract step.
- Confirm:
- PDF generates successfully (One moment while we generate your contract... should resolve)
- Fields are filled and aligned on each page
- Currency and dates look correct
- Signature flow works (native, DocuSign, or PandaDoc)
- Page navigation works (Prev Page / Next Page, expand/collapse if shown)
You can also generate a Contract PDF from the project (Manage → Generate Document → Contract PDF).
PDF vs HTML — which should I choose?
| PDF Drag & Drop | Text Editor (HTML) | |
|---|---|---|
Best for |
Existing branded PDF |
Writing terms in OpenSolar |
Setup |
Upload PDF, drag fields |
Type and format in editor |
Layout |
Fixed to uploaded pages |
Flow layout + page breaks |
Conditional sections |
Not supported in the PDF editor |
Supported |
Edit later |
Control only |
Control and Online Proposal |
Switch format later |
No |
No |
Editing an existing PDF template
- Control → Contract Template → Edit — upload a new PDF if needed, move/format fields, change auto-apply and integration.
- Online Proposal — you can select a PDF template for a project, but you cannot edit the PDF template content there.
If you open a PDF template from Online Proposal you will see:
Please edit this contract template via the Control tab
This contract template was made using PDF drag and drop. Templates made in this manner cannot currently be edited in the Online Proposal tab.
Implementing your E-Signature provider
OpenSolar integrates seamlessly with PandaDoc and DocuSign, allowing you to generate signature envelopes directly within your project workflow. By connecting these accounts, you eliminate the need to manually send documents externally, keeping the entire signing process within the OpenSolar customer experience.
Select a provider below to view the setup instructions:
Best practices
- Design the PDF with clear blank space where dynamic fields will sit.
- Use a sample project that matches the payment type and data you need.
- Prefer Popular / structured fields over free text when the data already exists in OpenSolar.
- Set Currency / date formatting on numeric and date fields.
- Place signature tags with enough space for a clear signature.
- Test at least one full checkout generation before enabling Auto-apply.
- Duplicate a working PDF template when creating a language or payment-type variant.
- Keep separate PDF templates for Cash vs Loan if layouts or fields differ a lot.
Troubleshooting
| Issue | What to check |
|---|---|
No placeholders available |
Select project + system + payment option, then click Load Sample Data
|
Blank or wrong values in preview |
Sample project/system/payment option may not contain that data — pick a better sample and reload |
Cannot change to HTML |
Editor type is locked at create — create a new Text Editor template |
Cannot edit from Online Proposal |
Expected for PDF — edit in Control |
File upload fails |
File type and 10 MB limit |
Currency looks unformatted |
Open Format → Number Formatting → Currency
|
Django tag shows no preview |
Expected in editor — generate a contract on a project to verify |
DocuSign/PandaDoc missing |
Connect integration; set Integration on the template |
Countersigner save errors |
Enable countersigner settings and place matching tags |
Conditional “if battery” sections |
Not available on PDF templates — use HTML or separate PDF templates |
Wrong contract on a project |
Auto-apply filters and Online Proposal contract selection |
FAQ
What can I put on a PDF contract template?
Your uploaded PDF layout, plus dragged placeholders for customer, project, system, pricing, equipment, free text, custom tags, and e-signature fields.
Do I rewrite my contract in OpenSolar?
No. Upload the finished PDF and place fields on top of it.
Why must I load sample data?
Sample data unlocks placeholders and drives the on-canvas preview. Without it, you cannot drag fields.
Can customers still sign online?
Yes. They review the generated PDF in checkout and sign with OpenSolar native signing, DocuSign, or PandaDoc depending on Integration.
Can I have different PDF contracts for cash and loan?
Yes. Use Auto-apply payment-type overrides, or assign different templates per payment option on Online Proposal.
Can I add pages inside OpenSolar?
No. Page count comes from the uploaded PDF. Update the PDF file and re-upload if you need more pages.
Location of frequently used placeholders:
| Customer Name | All customer |
| Project Address | Type "Address" in the search and use the placeholder "Full project address" |
| Purchase price | Payment option > pricing - Placeholder Name: Purchase price inc tax |
| Lender Name | Payment option - Placeholder Name: Lender Name |
| Down Payment | Payment option - Placeholder Name: Upfront cost |
| Hardware code and manufacturer name | System > Data > (Module, inverter or battery) - Placeholder Name: Manufacturer Name and Code |
| Panel watts | System - Placeholder Name: ModuleWattSTC |
| Panel Quantity | System - Placeholder Name: ModuleQuantity |
| Inverter Quantity | System - Placeholder Name: InverterQuantity |
| Battery Quantity | Popular - Placeholder Name: System Battery Quantity |
| System Size | System - Placeholder Name: StstemKwStc |
| System Output | System - Placeholder Name: SystemOutputAnnualkWh |
Related articles
Comments
0 comments
Please sign in to leave a comment.