Adding a terms page

Our client asked us to add a terms & conditions page (it’s a full page) after the invoice. This includes the PDF generated invoice.
I looked at the Add 2nd page topic, but that doesn’t seem to work as expected.

Any ideas on how we can add a page to the end of the invoice ?

One option would be to use a custom invoice design and add the custom text at the end.

We are using a custom design with a header and a footer. We’d like to add an additional page containing the terms & conditions, but we don’t see how we can do this ?

Try adding this at the bottom of the design:

}, { "pageBreak": "before", "text": "My custom text.." } }

I tried that. It doesn’t create a second page. All it does is hide the footer, which seems odd as well ?

Not sure, seems to work in my tests.

Which browser are you using?

I’ve tried both Chrome and Firefox.
The footer disappears and no second page is created.

Try downloading the PDF to check for more pages, if you have “Prevent Download” checked on /settings/account_management you’ll only see the first page.

Aha that did add a page break with the text on the second page.
The question now is : how do we keep the footer on the first page ?

There’s a setting on Settings > Invoice Design to show the footer on all pages

Wow not sure how I missed that one. Thanks, this seems to work perfectly !

Cannot seem to get this to work on the “Clean” layout.

Terms are a long paragraph and are overlapping with the footer.

Tried moving terms lower in the invoice and its now below the totals line, but still overlaps to the next page messily. How can I insert a Page Break AFTER the totals, and BEFORE the Terms?

Thanks!

After hours of searching and some loss of hair I copied another’s code and modified it slightly. I HOPE this works for others as well.

I now have a separate page just for the Terms, and HOPE that I will get a signature from the customer following the terms on the Terms page. Is that what $signature means? I stopped using Footers and copied and pasted my Footer text into the Terms section because it overlays when you have a long invoice that fills the whole page.
This way you now have the invoice, and then a terms page after it.

The only thing I cannot figure out how to do that I need help on is how to add a line of txt immediately following the total that says “See the following page for Terms and Conditions.”

HALP?!

  {
    "pageBreak": "after",
    "columns": [
      {
        "table": {
          "widths": [
            "*",
            "40%"
          ],
          "body": "$subtotals"
        },
        "layout": {
          "hLineWidth": "$none",
          "vLineWidth": "$none",
          "paddingLeft": "$amount:34",
          "paddingRight": "$amount:8",
          "paddingTop": "$amount:4",
          "paddingBottom": "$amount:4"
        }
      }
    ]
  },
  "$notesAndTerms",
  "$signature",
  {
    "stack": [
      "$invoiceDocuments"
    ],
    "style": "invoiceDocuments"
  }
]

I was trying as a test to add a text line using this suggestion:

https://www.invoiceninja.com/forums/topic/adding-a-terms-page/#post-9178

…But it gives an error, and I don’t want my custom text line at the bottom of everything, I just want it at the bottom of the Total. Before the page break.

If I change the code to the following (Adding “text”: “Custom Text” just above where it says },
“$notesAndTerms”, "$signature …) I get the error notated below:

{
    "style": "invoiceLineItemsTable",
    "table": {
      "headerRows": 1,
      "widths": [
        "15%",
        "43%",
        "10%",
        "10%",
        "11%",
        "11%"
      ],
      "body": "$invoiceLineItems"
    },
    "layout": {
      "hLineWidth": "$notFirst:.5",
      "vLineWidth": "$none",
      "hLineColor": "#D8D8D8",
      "paddingLeft": "$amount:8",
      "paddingRight": "$amount:8",
      "paddingTop": "$amount:14",
      "paddingBottom": "$amount:14"
    }
  },
  {
    "pageBreak": "after",
    "columns": [
      {
        "table": {
          "widths": [
            "*",
            "40%"
          ],
          "body": "$subtotals"
        },
        "layout": {
          "hLineWidth": "$none",
          "vLineWidth": "$none",
          "paddingLeft": "$amount:34",
          "paddingRight": "$amount:8",
          "paddingTop": "$amount:4",
          "paddingBottom": "$amount:4"
        }
      }
    ]
     "text": "Custom Text"
  },
  "$notesAndTerms",
  "$signature",
  {
    "stack": [
      "$invoiceDocuments"
    ],
    "style": "invoiceDocuments"
  }
]

Uncaught Error: Parse error on line 120: … } ] “text”: "Custom Text --------------------^ Expecting ‘EOF’, ‘}’, ‘,’, ‘]’, got ‘STRING’

Line 120 is the line immediately before the custom text line I just added.

Any help would be greatly appreciated!!!

I think instead of

] “text”: “Custom Text”

You should have:

, {“text”: “Custom Text”}]

Hi,

I am running into the same issue. The page break works, but I can’t add a custome text. Below is my page’s code:

“pageBreak”: “after”,
“columns”: [
“$notesAndTerms”,
{
“table”: {
“widths”: [
“*”,
“40%”
],
“body”: “$subtotals”
},
“layout”: {
“hLineWidth”: “$none”,
“vLineWidth”: “$none”,
“paddingLeft”: “$amount:34”,
“paddingRight”: “$amount:8”,
“paddingTop”: “$amount:4”,
“paddingBottom”: “$amount:4”
}
}
]
},
“$signature”,
{
“stack”: [
“$invoiceDocuments”
],
“style”: “invoiceDocuments”
}
]

I tried , {“text”: “Custom Text”}], but it does’nt work.

Any ideas on how to resolve this?

Hi,
I’ve finally solved the page break issue.
Did you manage to add a custom text line at the bottom of the Total. Before the page break?
If youd did, I’d be keen to know what code you used?
Thanks.

I haven’t… Sadly. Each and every invoice I add a line item product that says:

Notes / Terms / Conditions
Please see the final page of this document for specific Notes, Terms, and Conditions that apply to this work.