Create an Invoice
Create an invoice using the DynamicPDF Designer.
In this sample you create a traditional invoice using a template. The produced PDF is a multiple page invoice.
Sample Project
The traditional-invoice
project is available from the DynamicPDF Portal Samples in the File Manager.
The project consists of the following three files.
invoice.dlex
invoice.json
invoice-template.pdf
Refer to the following for more information on the File Manager and on adding sample projects.
Sample Description
The sample consists of a Report containing a Header, Footer, Conditional Footer, and Body.
The report's JSON data is top-level information related to the order followed by an array containing each order's details.
{
"OrderID": 11077,
"OrderDate": "2019-01-06T00:00:00",
"CustomerID": "RATTC",
"ShippedDate": "2019-01-30T00:00:00",
"ShipperName": "United Package",
"ShipTo": "Rattlesnake Canyon Grocery\n2817 Milton Dr.\nAlbuquerque, NM 87110\nUSA",
"BillTo": "Rattlesnake Canyon Grocery\n2817 Milton Dr.\nAlbuquerque, NM 87110\nUSA",
"Freight": 8.53,
"OrderDetails": [
{
"ProductID": 2,
"Quantity": 24,
"ProductName": "Chang",
"UnitPrice": 19
},
{
"ProductID": 3,
"Quantity": 4,
"ProductName": "Aniseed Syrup",
"UnitPrice": 10
},
{
"ProductID": 4,
"Quantity": 1,
"ProductName": "Chef Anton\u0027s Cajun Seasoning",
"UnitPrice": 22
},
{
"ProductID": 6,
"Quantity": 1,
"ProductName": "Grandma\u0027s Boysenberry Spread",
"UnitPrice": 25
},
--- snip ---
The JSON data loaded into Designer appears as follows in the Data Explorer.
The report uses a pre-existing template, report-template.pdf
.
The different sections of the report are resized to the relevant portions of the template.
The report's structure appears as follows. Notice there is a footer and a conditional footer.
The conditional footer displays a sub total, freight charge, and a total.
Notice the sub total sums the UnitPrice
multiplied by the Quantity
, Sum(Multiply(UnitPrice,Quantity))
.
While the total adds the sum and freight, Add(Freight,Sum(Multiply(UnitPrice,Quantity)))
.
The finished invoice is two pages and only displays the summary data on the final page.
More Information
For more information on using Designer refer to one of our many tutorials and the Users Guide documentation. Also refer to the Designer Examples documentation page in the Users Guide for numerous examples illustrating Designer's capabilities. Our blog also has numerous tips and tricks for using Designer.