Footer & Sections

Prev Next

Feature Overview

Footer & Sections is the feature in Document Customizer that controls HTML-based content blocks placed at fixed positions around the line table on a printed document. There are five content slots available per document configuration: Section 1 (placed after the header fields, before the line table), Section 2 (placed after the line table), Section 3 (placed before the footer), Section 4 (placed after Section 3 in some report variants), and the Footer itself (placed at the very bottom of each page). Each slot references a Footer Code, which is a named block of HTML content with optional language variants and date range validity.

The HTML content within a Footer Code is defined as a sequence of plain text lines stored in Extended Footer Lines. These lines are concatenated at runtime to produce the final HTML fragment that is injected into the report. To make the content dynamic — showing values from the actual document rather than static text — you define HTML Parameters: numbered placeholders (%1 through %20) that are substituted at print time with field values retrieved from the document record, related tables, or the Bank Accounts per Currency setup. This makes it possible to produce footers containing payment references, bank account details, legal disclaimers with the document number embedded, or any other document-specific text.

Each Footer Code supports multiple language variants: the system selects the appropriate variant based on the document's language code, falling back first to a blank-language (all-languages) record and then to the default language in Report Pack Setup. Date range fields (Starting Date, Ending Date) on the Footer record allow you to schedule seasonal or time-limited content — for example, a holiday greeting added to all documents in December — without any manual intervention.

Key Facts

Where to set up Extended Footer List page; Extended Footer Lines page; HTML Parameters page
Where to assign Document Customizer Content page (Footer, Section 1, Section 2, Section 3 fields)
Content format HTML fragments (plain text lines concatenated at runtime)
Dynamic values Up to 20 parameters per Footer Code, resolved from document fields, related tables, or Bank Accounts per Currency
Language support Per-language variants with automatic fallback to blank-language or default language
Date scheduling Starting Date and Ending Date control when a variant is active
Text alignment Per-section alignment (Left, Center, Right) configurable in Document Customizer Content
MDI integration "Don't print Master Data" flag on Extended Footer suppresses MDI injection for that footer code

Getting Started

  1. Open Extended Footer List (search for it, or navigate from Document Customizer Content → Footer or Section actions).
  2. Create a new record with a Footer Code and a Description. Leave Language Code blank if this content should apply to all languages, or set a specific language code for a language-specific variant.
  3. Open the action HTML Lines (or navigate to Extended Footer Lines for this code) and enter the HTML content line by line. Each line is up to 250 characters; lines are concatenated without separators, so include HTML tags such as <br> for line breaks.
  4. If you need to embed document values in the content, add %1, %2, etc. as placeholders in the HTML. Then open HTML Parameters for the same Footer Code and define each parameter number with the source table and field.
  5. Return to Document Customizer Content, find the relevant document, and set Footer (or Section 1/2/3) to your Footer Code.
  6. Optionally set the Footer Text Align or Section X Text Align field to control alignment.
  7. Run Test Report Layout to verify the content renders as expected.

Related Features

Footer & Sections integrates closely with other Document Customizer features. Captions & Translations provides the language fallback mechanism used when selecting which Footer Code language variant to render. The Bank Accounts per Currency setup is referenced directly by HTML Parameters when a Bank Field is configured, enabling payment details to vary by currency without any manual setup per document. Header Setup uses the same Bank Accounts per Currency logic for header bank fields, so both sections can reflect the same currency-aware bank account. The Layout & Visual Design feature controls the footer font size globally for a layout, which applies to all footer and section content rendered in the footer area.


User Stories

US-01: Add a static payment terms footer to all sales invoices

As a Business Manager
I want to print a standard payment terms paragraph at the bottom of every sales invoice
So that customers are always reminded of our payment conditions without requiring any manual addition per invoice

Setup:

  1. Open Extended Footer List and create a new Footer Code, e.g. PAYMENT-TERMS, with Language Code blank (applies to all languages).
  2. Open HTML Lines and enter the payment terms text as HTML, e.g.:
    <p>Payment is due within 30 days of invoice date. Bank transfer only.</p>
  3. In Document Customizer Content, set Footer to PAYMENT-TERMS for the Sales Invoice row.
  4. Run a test report to confirm the footer appears on all pages.
US-02: Embed the document number and due date dynamically in the footer

As a Accountant
I want to show a footer line such as "Please reference invoice 123456 due 15/01/2025 in your payment"
So that the document number and due date are always current and correct without maintaining separate text per invoice

Setup:

  1. Create a Footer Code (e.g. INV-FOOTER) with HTML Lines that include placeholders:
    <p>Please reference invoice %1 due %2 in your payment.</p>
  2. Open HTML Parameters for INV-FOOTER.
  3. Add Parameter No. 1: set Table No. to Sales Invoice Header, Field No. to No.
  4. Add Parameter No. 2: set Table No. to Sales Invoice Header, Field No. to Due Date.
  5. Assign INV-FOOTER to the Footer field in Document Customizer Content for the Sales Invoice.
  6. At print time, %1 and %2 are replaced with the actual document number and due date.
US-03: Show different footer text for Danish and English customers

As a Business Manager
I want to show the payment terms footer in Danish for domestic customers and in English for international customers, automatically based on the customer's language setting
So that every customer receives legally appropriate payment terms in their own language

Setup:

  1. Create two records in Extended Footer List with the same Footer Code (e.g. PAYMENT-TERMS) but different Language Codes:
    • Language Code DAN: Danish payment terms text
    • Language Code blank: English payment terms text (fallback for all other languages)
  2. Enter the appropriate HTML Lines for each language variant.
  3. At print time, the system selects the Danish variant for documents with Language Code DAN, and the blank-language variant for all others.
US-04: Use Section 1 to add a special instructions block between the header and the line table

As a Business Manager
I want to print a highlighted block of delivery instructions (e.g. "Deliver to loading dock B between 08:00–12:00") between the header fields and the item lines on the sales order confirmation
So that logistics instructions are visually prominent and cannot be missed by the recipient

Setup:

  1. Create a Footer Code (e.g. DELIVERY-NOTE) with the relevant HTML content in HTML Lines.
  2. If the text should be pulled from the document (e.g. from a comment or special instructions field), add HTML Parameters to inject the value.
  3. In Document Customizer Content, set Section 1 to DELIVERY-NOTE for the Sales Order Confirmation.
  4. Optionally set Section 1 Text Align to Center or Left as appropriate.

Note: Section 1 is rendered directly after the header fields block and before the column headers row. Use standard HTML tags for formatting; avoid complex CSS as the report renderer has limited HTML support.

US-05: Use Section 2 to add a promotional message after the line table

As a Business Manager
I want to print a brief promotional message (e.g. "Thank you for your order! Visit our webshop for new arrivals.") between the line table and the totals section
So that every order confirmation ends with a brand message without requiring a separate document

Setup:

  1. Create a Footer Code (e.g. PROMO-MSG) with the promotional HTML content.
  2. In Document Customizer Content, set Section 2 to PROMO-MSG for the relevant document.
  3. Set Section 2 Text Align to Center if desired.
US-06: Schedule a seasonal footer for a specific date range

As a Business Manager
I want to automatically show a holiday greeting on all invoices during December without having to manually add and remove it each year
So that seasonal messaging is handled automatically once configured

Setup:

  1. Create a Footer Code (e.g. XMAS-FOOTER) with the holiday HTML content.
  2. On the Extended Footer record, set Starting Date to December 1 and Ending Date to December 31 of the target year (or any year, as the system compares to WORKDATE).
  3. Assign XMAS-FOOTER to the Section 3 or Footer field in Document Customizer Content.
  4. Outside the specified date range, the system finds no active record for this Footer Code and renders nothing (blank) in that slot.

Note: The system uses WORKDATE (the BC working date) to evaluate whether a footer record is active, not the document date. Ensure your BC working date is set correctly if testing outside December.

US-07: Display currency-specific bank account details in the footer using HTML Parameters

As a Accountant
I want to print bank payment details in the footer — IBAN, SWIFT code, and bank name — where the correct bank account is automatically selected based on the document's currency
So that customers always receive the right payment instructions without any manual adjustment per currency

Setup:

  1. First, ensure Bank Accounts per Currency is configured (currency codes mapped to bank accounts).
  2. Create a Footer Code (e.g. BANK-DETAILS) with HTML Lines referencing parameters, e.g.:
    <p>Bank: %1 | IBAN: %2 | SWIFT: %3</p>
  3. Open HTML Parameters for BANK-DETAILS.
  4. Add Parameter No. 1: set Bank Field to the Bank Name field on the Bank Account table (leave Table No. as Company Information to use the Bank Field logic).
  5. Add Parameter No. 2: Bank Field = IBAN.
  6. Add Parameter No. 3: Bank Field = SWIFT Code.
  7. The system resolves the correct bank account at runtime using the Bank Accounts per Currency setup, based on the document's currency code and payment method.
US-08: Add a legal disclaimer to purchase orders using Section 3

As a Business Manager
I want to print standard purchasing terms and conditions as a small-font block at the bottom of every purchase order, above the very bottom footer
So that all purchase orders issued from our system include our standard legal terms

Setup:

  1. Create a Footer Code (e.g. PO-TERMS) with the legal text as HTML Lines. Use <small> tags or inline font-size styles if needed for smaller text.
  2. In Document Customizer Content, set Section 3 to PO-TERMS for the Purchase Order row.
  3. Set Section 3 Text Align to Left (standard for legal text).
US-09: Copy a Footer Code to create a variant for a different document type

As a Business Manager
I want to copy an existing Footer Code as the starting point for a credit memo variant with slightly different payment instructions
So that I save time on setup and maintain HTML structure consistency across documents

Setup:

  1. Open Extended Footer List and select the Footer Code to copy.
  2. Use the action Copy to new and enter a new Footer Code.
  3. The system copies all language variants, HTML Lines, and HTML Parameters to the new code.
  4. Edit the HTML Lines or Parameters on the new code as needed.
  5. Assign the new Footer Code to the target document in Document Customizer Content.
US-10: Use a return parameter to embed a document-level value passed at report runtime

As a IT Manager
I want to embed a value in the footer that is not directly available as a table field but is passed in as a runtime parameter by the report (e.g. a pre-calculated payment reference string)
So that the footer can display complex derived values without requiring a custom table lookup

Setup:

  1. Create a Footer Code with %1 (or another parameter number) as the placeholder.
  2. Open HTML Parameters and add a parameter record with the target Parameter No.
  3. Set Return Parameter to 1, 2, 3, or 4 — this maps to the pre-defined runtime parameters (p1–p4) that the report passes to the footer rendering engine.
  4. The specific meaning of p1–p4 varies by report; consult the report's footer-call context. For most standard Document Customizer reports, p1 is the document number, p2 is the currency code, p3 and p4 are additional contextual values.

Note: Return Parameters are an advanced mechanism for consultant or developer use. In most cases, defining a table field and Using Table/Field achieves the same result more transparently.

US-11: Suppress Master Data Information injection in a specific footer

As a IT Manager
I want to prevent the Master Data Information app from injecting additional content into a specific footer section
So that documents using this footer maintain the exact layout I have configured

Setup:

  1. Open Extended Footer List and select the relevant Footer Code.
  2. Enable Don't print Master Data.
  3. Save. MDI will not inject content into this footer block, even if MDI is installed and active globally.

Field Reference

Field Where to find it What it does Default
Footer Code Extended Footer List Unique code identifying this footer/section content block
Language Code Extended Footer List Language variant; blank = all languages Blank
All Language Codes Extended Footer List Set automatically to true when Language Code is blank True
Description Extended Footer List Free-text description of this content block
Starting Date Extended Footer List Date from which this record is active (blank = no start limit) Blank
Ending Date Extended Footer List Date until which this record is active (blank = no end limit) Blank
Don't print Master Data Extended Footer List Suppresses MDI injection for this footer code (visible when MDI is installed) Disabled
HTML Extended Footer Lines One segment of HTML content (up to 250 chars); lines are concatenated at runtime
Parameter No. HTML Parameters Identifies which placeholder (%1%20) this parameter resolves
Table No. HTML Parameters Source table for the parameter value
Field No. HTML Parameters Field in Table No. to display as the parameter value
Using Table HTML Parameters Related table to look up for the parameter value
Using Field HTML Parameters Field in Using Table to display
Bank Field HTML Parameters Bank Account field resolved via Bank Accounts per Currency
Return Parameter HTML Parameters Maps to runtime parameter p1–p4 passed by the report at print time
Footer Document Customizer Content Footer Code to render at the bottom of each page
Section 1 Document Customizer Content Footer Code rendered after header fields, before line table
Section 2 Document Customizer Content Footer Code rendered after line table, before totals
Section 3 Document Customizer Content Footer Code rendered before the main footer
Footer Text Align Document Customizer Content Alignment of footer content: Left, Center, or Right Center
Section 1–3 Text Align Document Customizer Content Alignment for each section independently Left