--- title: "Footer & Sections" slug: "footer-and-sections" description: "Control HTML content in your documents with Footer & Sections in Document Customizer, featuring dynamic values, language support, and date scheduling." updated: 2026-04-29T14:36:17Z published: 2026-04-29T14:48:02Z canonical: "docs.abakion.com/footer-and-sections" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.abakion.com/llms.txt > Use this file to discover all available pages before exploring further. # Footer & Sections ## 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 |