Invoices

Standard Invoice Template

Clean invoice PDF layout with restrained typography, billing blocks, line items, totals, and QR verification.

invoicebillingline-itemsbusiness-pdftemplate-render

Template JSON

rev_20260529_v2_invoice_clean
{
  "schema": {
    "fields": [
      {
        "key": "issuer_name",
        "type": "string",
        "required": true,
        "label": "Issuer name",
        "default_value": "gPdf Operations"
      },
      {
        "key": "issuer_line",
        "type": "string",
        "required": true,
        "label": "Issuer address",
        "default_value": "210 Market Street, San Francisco, CA"
      },
      {
        "key": "recipient_name",
        "type": "string",
        "required": true,
        "label": "Recipient name",
        "default_value": "Northstar Labs"
      },
      {
        "key": "recipient_line",
        "type": "string",
        "required": true,
        "label": "Recipient address",
        "default_value": "88 Harbor Way, Oakland, CA"
      },
      {
        "key": "document_number",
        "type": "string",
        "required": true,
        "label": "Document number",
        "default_value": "DOC-2026-0529"
      },
      {
        "key": "document_date",
        "type": "string",
        "required": true,
        "label": "Document date",
        "default_value": "2026-05-29"
      },
      {
        "key": "due_date",
        "type": "string",
        "required": false,
        "label": "Due date",
        "default_value": "2026-06-12"
      },
      {
        "key": "status",
        "type": "string",
        "required": true,
        "label": "Status",
        "default_value": "Ready"
      },
      {
        "key": "subtotal",
        "type": "string",
        "required": true,
        "label": "Subtotal",
        "default_value": "$1,240.00"
      },
      {
        "key": "tax",
        "type": "string",
        "required": true,
        "label": "Tax",
        "default_value": "$108.50"
      },
      {
        "key": "total",
        "type": "string",
        "required": true,
        "label": "Total",
        "default_value": "$1,348.50"
      },
      {
        "key": "notes",
        "type": "string",
        "required": true,
        "label": "Notes",
        "default_value": "Generated from a gPdf source JSON template."
      },
      {
        "key": "qr_payload",
        "type": "string",
        "required": true,
        "label": "QR payload",
        "default_value": "https://gpdf.com/templates"
      },
      {
        "key": "items",
        "type": "array",
        "required": true,
        "label": "Line items",
        "items": [
          {
            "key": "description",
            "type": "string",
            "required": true,
            "label": "Description",
            "default_value": "Professional API usage"
          },
          {
            "key": "qty",
            "type": "number",
            "required": true,
            "label": "Quantity",
            "default_value": 1
          },
          {
            "key": "unit_price",
            "type": "string",
            "required": true,
            "label": "Unit price",
            "default_value": "$120.00"
          },
          {
            "key": "amount",
            "type": "string",
            "required": true,
            "label": "Amount",
            "default_value": "$120.00"
          }
        ]
      }
    ]
  },
  "layout": {
    "pages": [
      {
        "width": 210,
        "height": 297,
        "elements": [
          {
            "type": "rect",
            "x": 0,
            "y": 0,
            "width": 210,
            "height": 297,
            "z_index": 0,
            "fill": {
              "color": "#FFFFFF",
              "opacity": 1
            }
          },
          {
            "type": "rect",
            "x": 16,
            "y": 18,
            "width": 2.2,
            "height": 251,
            "z_index": 0,
            "fill": {
              "color": "#2563EB",
              "opacity": 1
            }
          },
          {
            "type": "text",
            "x": 24,
            "y": 18,
            "frame": {
              "width": 46
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "gPdf",
                      "style": {
                        "font_weight": "bold"
                      }
                    },
                    {
                      "type": "text",
                      "text": " Billing"
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 8,
                "color": "#111827"
              }
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 132,
            "y": 18,
            "frame": {
              "width": 54
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "INVOICE"
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18,
                "align": "right"
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 24,
                "color": "#111827",
                "font_weight": "bold"
              }
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 132,
            "y": 43,
            "frame": {
              "width": 54
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "document_number",
                      "style": {
                        "font_weight": "bold"
                      }
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "text",
                      "text": "Issued "
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "document_date"
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "text",
                      "text": "Due "
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "due_date"
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18,
                "align": "right"
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 7,
                "color": "#475569"
              }
            },
            "z_index": 0
          },
          {
            "type": "line",
            "x1": 24,
            "y1": 58,
            "x2": 186,
            "y2": 58,
            "stroke": {
              "color": "#CBD5E1",
              "width": 0.3
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 24,
            "y": 72,
            "frame": {
              "width": 70
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Bill from",
                      "style": {
                        "font_weight": "bold"
                      }
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "issuer_name",
                      "style": {
                        "font_weight": "bold"
                      }
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "issuer_line"
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 7.2,
                "color": "#334155"
              }
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 106,
            "y": 72,
            "frame": {
              "width": 70
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Bill to",
                      "style": {
                        "font_weight": "bold"
                      }
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "recipient_name",
                      "style": {
                        "font_weight": "bold"
                      }
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "recipient_line"
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 7.2,
                "color": "#334155"
              }
            },
            "z_index": 0
          },
          {
            "type": "rect",
            "x": 24,
            "y": 112,
            "width": 162,
            "height": 1.6,
            "z_index": 0,
            "fill": {
              "color": "#EFF6FF",
              "opacity": 1
            }
          },
          {
            "type": "table",
            "x": 24,
            "y": 122,
            "width": 162,
            "columns": [
              {
                "key": "description",
                "header": "Description",
                "width": {
                  "mode": "fixed",
                  "value": 84
                }
              },
              {
                "key": "qty",
                "header": "Qty",
                "width": {
                  "mode": "fixed",
                  "value": 16
                },
                "cell": {
                  "text": {
                    "text_align": "right"
                  }
                },
                "header_cell": {
                  "text": {
                    "text_align": "right"
                  }
                }
              },
              {
                "key": "unit_price",
                "header": "Unit",
                "width": {
                  "mode": "fixed",
                  "value": 28
                },
                "cell": {
                  "text": {
                    "text_align": "right"
                  }
                },
                "header_cell": {
                  "text": {
                    "text_align": "right"
                  }
                }
              },
              {
                "key": "amount",
                "header": "Amount",
                "width": {
                  "mode": "fixed",
                  "value": 34
                },
                "cell": {
                  "text": {
                    "text_align": "right"
                  }
                },
                "header_cell": {
                  "text": {
                    "text_align": "right"
                  }
                }
              }
            ],
            "rows": "{{#each items}}",
            "header": {
              "show": true,
              "repeat_on_page_break": true,
              "cell": {
                "fill": {
                  "color": "#1E40AF"
                },
                "text": {
                  "color": "#FFFFFF",
                  "font_size": 6.8,
                  "font_weight": "bold"
                }
              }
            },
            "cell": {
              "padding": {
                "x": 1.4,
                "y": 2
              },
              "text": {
                "color": "#1F2937",
                "font_size": 6.8
              }
            },
            "body": {
              "alternate_fill": {
                "color": "#F8FAFC"
              }
            },
            "grid": {
              "top": {
                "color": "#CBD5E1",
                "width": 0.2
              },
              "bottom": {
                "color": "#CBD5E1",
                "width": 0.2
              },
              "horizontal": {
                "color": "#E5E7EB",
                "width": 0.18
              },
              "left": {
                "color": "#E5E7EB",
                "width": 0.18
              },
              "right": {
                "color": "#E5E7EB",
                "width": 0.18
              }
            },
            "z_index": 0
          },
          {
            "type": "rect",
            "x": 118,
            "y": 222,
            "width": 68,
            "height": 36,
            "z_index": 0,
            "fill": {
              "color": "#F8FAFC",
              "opacity": 1
            },
            "stroke": {
              "color": "#CBD5E1",
              "width": 0.25
            }
          },
          {
            "type": "text",
            "x": 123,
            "y": 228,
            "frame": {
              "width": 28
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Subtotal"
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "text",
                      "text": "Tax"
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "text",
                      "text": "Total",
                      "style": {
                        "font_weight": "bold"
                      }
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 7.2,
                "color": "#475569"
              }
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 158,
            "y": 228,
            "frame": {
              "width": 22
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "subtotal"
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "tax"
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "total",
                      "style": {
                        "font_weight": "bold"
                      }
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18,
                "align": "right"
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 7.2,
                "color": "#111827",
                "font_weight": "bold"
              }
            },
            "z_index": 0
          },
          {
            "type": "barcode",
            "format": "qrcode",
            "content": "{{qr_payload}}",
            "x": 24,
            "y": 224,
            "width": 22,
            "height": 22,
            "barcode_text": {
              "enabled": false,
              "position": "bottom"
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 52,
            "y": 226,
            "frame": {
              "width": 58
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Payment notes",
                      "style": {
                        "font_weight": "bold"
                      }
                    },
                    {
                      "type": "line_break"
                    },
                    {
                      "type": "variable",
                      "scope": "binding",
                      "name": "notes"
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 6.4,
                "color": "#475569"
              }
            },
            "z_index": 0
          },
          {
            "type": "line",
            "x1": 24,
            "y1": 270,
            "x2": 186,
            "y2": 270,
            "stroke": {
              "color": "#CBD5E1",
              "width": 0.25
            },
            "z_index": 0
          },
          {
            "type": "text",
            "x": 24,
            "y": 275,
            "frame": {
              "width": 120
            },
            "content": {
              "blocks": [
                {
                  "type": "paragraph",
                  "inlines": [
                    {
                      "type": "text",
                      "text": "Default PDF metadata is inherited from the gPdf engine."
                    }
                  ]
                }
              ]
            },
            "defaults": {
              "paragraph": {
                "line_height": 1.18
              },
              "run": {
                "font_family": "NotoSans-Regular",
                "font_mode": "prefer",
                "font_size": 5.9,
                "color": "#64748B"
              }
            },
            "z_index": 0
          }
        ]
      }
    ]
  }
}
Sample data
{
  "issuer_name": "gPdf Operations",
  "issuer_line": "210 Market Street, San Francisco, CA 94105",
  "recipient_name": "Northstar Labs",
  "recipient_line": "88 Harbor Way, Oakland, CA 94607",
  "document_number": "INV-2026-0529",
  "document_date": "2026-05-29",
  "due_date": "2026-06-12",
  "status": "Open",
  "subtotal": "$1,240.00",
  "tax": "$108.50",
  "total": "$1,348.50",
  "notes": "Structured PDF template with dynamic fields, production sample data, and default gPdf metadata.",
  "qr_payload": "https://gpdf.com/templates/standard-invoice-template",
  "items": [
    {
      "description": "Template render pages",
      "qty": 2400,
      "unit_price": "$0.018",
      "amount": "$43.20"
    },
    {
      "description": "Hosted PDF workflow support",
      "qty": 1,
      "unit_price": "$120.00",
      "amount": "$120.00"
    },
    {
      "description": "Batch validation window",
      "qty": 6,
      "unit_price": "$18.00",
      "amount": "$108.00"
    },
    {
      "description": "Archive delivery package",
      "qty": 1,
      "unit_price": "$95.00",
      "amount": "$95.00"
    }
  ]
}

Rendered PDF

PDF