{
  "metadata": {"title": "Invoice 2026-0142"},
  "items": [
    {
      "type": "image",
      "image": "logo",
      "rect": {"llx": 56, "lly": 779.926667, "urx": 140, "ury": 826.5}
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 768, "urx": 539.276, "ury": 778.2},
      "content": ["42 lot les Genêts, 13480 Calas, France"],
      "font": "DejaVuSans",
      "font_size": 8.5,
      "color": [0.42, 0.42, 0.45]
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 756, "urx": 539.276, "ury": 766.2},
      "content": ["www.hqf.fr"],
      "font": "DejaVuSans",
      "font_size": 8.5,
      "color": [0.42, 0.42, 0.45]
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 796, "urx": 539.276, "ury": 832},
      "content": ["INVOICE"],
      "font": "DejaVuSans",
      "font_size": 30,
      "color": [0.11, 0.33, 0.55],
      "align": "right"
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 770, "urx": 539.276, "ury": 781.4},
      "content": ["Invoice No. 2026-0142"],
      "font": "DejaVuSans",
      "font_size": 9.5,
      "color": [0.1, 0.1, 0.12],
      "align": "right"
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 757, "urx": 539.276, "ury": 768.4},
      "content": ["Issue date 19 July 2026"],
      "font": "DejaVuSans",
      "font_size": 9.5,
      "color": [0.42, 0.42, 0.45],
      "align": "right"
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 744, "urx": 539.276, "ury": 755.4},
      "content": ["Due date 18 August 2026"],
      "font": "DejaVuSans",
      "font_size": 9.5,
      "color": [0.42, 0.42, 0.45],
      "align": "right"
    },
    {
      "type": "line",
      "from": {"x": 56, "y": 730},
      "to": {"x": 539.276, "y": 730},
      "stroke": {"width": 1.2, "color": [0.11, 0.33, 0.55]}
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 712, "urx": 539.276, "ury": 721.6},
      "content": ["BILL TO"],
      "font": "DejaVuSans",
      "font_size": 8,
      "color": [0.42, 0.42, 0.45]
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 697, "urx": 539.276, "ury": 710.2},
      "content": ["Northwind Trading SARL"],
      "font": "DejaVuSans",
      "font_size": 11,
      "color": [0.1, 0.1, 0.12]
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 683, "urx": 539.276, "ury": 693.8},
      "content": ["18 quai du Port"],
      "font": "DejaVuSans",
      "font_size": 9,
      "color": [0.42, 0.42, 0.45]
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 671, "urx": 539.276, "ury": 681.8},
      "content": ["13002 Marseille, France"],
      "font": "DejaVuSans",
      "font_size": 9,
      "color": [0.42, 0.42, 0.45]
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 712, "urx": 539.276, "ury": 721.6},
      "content": ["AMOUNT DUE"],
      "font": "DejaVuSans",
      "font_size": 8,
      "color": [0.42, 0.42, 0.45],
      "align": "right"
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 694, "urx": 539.276, "ury": 714.4},
      "content": ["17 880.00 EUR"],
      "font": "DejaVuSans",
      "font_size": 17,
      "color": [0.11, 0.33, 0.55],
      "align": "right"
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 678, "urx": 539.276, "ury": 688.8},
      "content": ["Due 18 August 2026"],
      "font": "DejaVuSans",
      "font_size": 9,
      "color": [0.42, 0.42, 0.45],
      "align": "right"
    },
    {
      "type": "table",
      "columns": {
        "widths": [
          {"fraction": 1},
          {"points": 46},
          {"points": 94},
          {"points": 94}
        ],
        "total": 483.276
      },
      "first": {"llx": 56, "lly": 250, "urx": 539.276, "ury": 645},
      "next": {"llx": 56, "lly": 250, "urx": 539.276, "ury": 645},
      "header": 1,
      "rules": [
        {
          "rule": "frame",
          "stroke": {"width": 0.8, "color": [0.11, 0.33, 0.55]}
        },
        {
          "rule": "horizontal_other",
          "stroke": {"width": 0.25, "color": [0.78, 0.78, 0.78]}
        },
        {
          "rule": {"horizontal": 1},
          "stroke": {"width": 0.8, "color": [0.11, 0.33, 0.55]}
        },
        {
          "rule": {"horizontal_from_end": 1},
          "stroke": {"width": 0.8, "color": [0.11, 0.33, 0.55]}
        }
      ],
      "rows": [
        {
          "cells": [
            {
              "content": ["Description"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "fill": [0.11, 0.33, 0.55],
              "color": [1, 1, 1],
              "valign": "middle"
            },
            {
              "content": ["Qty"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "fill": [0.11, 0.33, 0.55],
              "color": [1, 1, 1],
              "valign": "middle"
            },
            {
              "content": ["Unit price"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "fill": [0.11, 0.33, 0.55],
              "color": [1, 1, 1],
              "valign": "middle"
            },
            {
              "content": ["Amount"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "fill": [0.11, 0.33, 0.55],
              "color": [1, 1, 1],
              "valign": "middle"
            }
          ],
          "min_height": 22
        },
        {
          "cells": [
            {
              "content": ["Web application development"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "valign": "middle"
            },
            {
              "content": ["14"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "valign": "middle"
            },
            {
              "content": ["620.00 EUR"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "valign": "middle"
            },
            {
              "content": ["8 680.00 EUR"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "valign": "middle"
            }
          ],
          "min_height": 19
        },
        {
          "cells": [
            {
              "content": ["UX and graphic design"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "valign": "middle"
            },
            {
              "content": ["6"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "valign": "middle"
            },
            {
              "content": ["480.00 EUR"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "valign": "middle"
            },
            {
              "content": ["2 880.00 EUR"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "valign": "middle"
            }
          ],
          "min_height": 19,
          "fill": [0.96, 0.96, 0.96]
        },
        {
          "cells": [
            {
              "content": ["Managed hosting — annual plan"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "valign": "middle"
            },
            {
              "content": ["1"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "valign": "middle"
            },
            {
              "content": ["1 440.00 EUR"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "valign": "middle"
            },
            {
              "content": ["1 440.00 EUR"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "valign": "middle"
            }
          ],
          "min_height": 19
        },
        {
          "cells": [
            {
              "content": ["On-site training (Django, per day)"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "valign": "middle"
            },
            {
              "content": ["2"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "valign": "middle"
            },
            {
              "content": ["950.00 EUR"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "valign": "middle"
            },
            {
              "content": ["1 900.00 EUR"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "valign": "middle"
            }
          ],
          "min_height": 19,
          "fill": [0.96, 0.96, 0.96]
        },
        {
          "cells": [
            {
              "content": ["Subtotal"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "span": 3,
              "align": "right"
            },
            {
              "content": ["14 900.00 EUR"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right"
            }
          ],
          "min_height": 18
        },
        {
          "cells": [
            {
              "content": ["VAT at 20 %"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "span": 3,
              "align": "right"
            },
            {
              "content": ["2 980.00 EUR"],
              "font": "DejaVuSans",
              "font_size": 9,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right"
            }
          ],
          "min_height": 18
        },
        {
          "cells": [
            {
              "content": ["Total due"],
              "font": "DejaVuSans",
              "font_size": 10,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "span": 3,
              "align": "right",
              "border": {
                "top": {"width": 0.8, "color": [0.11, 0.33, 0.55]},
                "bottom": {"width": 0.8, "color": [0.11, 0.33, 0.55]},
                "left": {"width": 0.8, "color": [0.11, 0.33, 0.55]}
              },
              "margin": {"left": 0, "right": 0, "top": 2, "bottom": 2}
            },
            {
              "content": ["17 880.00 EUR"],
              "font": "DejaVuSans",
              "font_size": 10,
              "padding": {"left": 6, "right": 6, "top": 5, "bottom": 5},
              "align": "right",
              "border": {
                "top": {"width": 0.8, "color": [0.11, 0.33, 0.55]},
                "bottom": {"width": 0.8, "color": [0.11, 0.33, 0.55]},
                "right": {"width": 0.8, "color": [0.11, 0.33, 0.55]}
              },
              "margin": {"left": 0, "right": 0, "top": 2, "bottom": 2}
            }
          ],
          "min_height": 18
        }
      ]
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 432.2, "urx": 539.276, "ury": 444.2},
      "content": ["PAYMENT"],
      "font": "DejaVuSans",
      "font_size": 10,
      "color": [0.11, 0.33, 0.55]
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 382, "urx": 356, "ury": 416.2},
      "content": [
        "Please transfer ",
        {"text": "17 880.00 EUR", "underline": true},
        " within 30 days, quoting invoice 2026-0142. Scan the code to pay the exact amount to the account below."
      ],
      "font": "DejaVuSans",
      "font_size": 9.5
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 372, "urx": 539.276, "ury": 382.8},
      "content": ["IBAN"],
      "font": "DejaVuSans",
      "font_size": 9,
      "color": [0.42, 0.42, 0.45]
    },
    {
      "type": "text",
      "rect": {"llx": 90, "lly": 372, "urx": 539.276, "ury": 383.4},
      "content": ["FR14 2004 1010 0505 0001 3M02 606"],
      "font": "DejaVuSans",
      "font_size": 9.5,
      "color": [0.1, 0.1, 0.12]
    },
    {
      "type": "qr",
      "content": "BCD\n002\n1\nSCT\n\nHQF Development\nFR1420041010050500013M02606\nEUR17880.00\n\n\nInvoice 2026-0142",
      "rect": {
        "llx": 425.129659,
        "lly": 322.053659,
        "urx": 549.422341,
        "ury": 446.346341
      }
    },
    {
      "type": "text",
      "rect": {"llx": 446.877562, "lly": 320.2, "urx": 539.276, "ury": 329.8},
      "content": ["Scan to pay — SEPA"],
      "font": "DejaVuSans",
      "font_size": 8,
      "color": [0.42, 0.42, 0.45]
    },
    {
      "type": "line",
      "from": {"x": 56, "y": 74},
      "to": {"x": 539.276, "y": 74},
      "stroke": {"width": 0.5, "color": [0.8, 0.8, 0.8]}
    },
    {
      "type": "text",
      "rect": {"llx": 56, "lly": 62, "urx": 539.276, "ury": 70.4},
      "content": [
        "HQF Development · 42 lot les Genêts, 13480 Calas, France · SIRET 752 492 777 00012 · APE 6202A · VAT FR59 752 492 777"
      ],
      "font": "DejaVuSans",
      "font_size": 7,
      "color": [0.42, 0.42, 0.45],
      "align": "center"
    }
  ]
}
