How Do I Prevent Lasernet Interpreting #compliant# in a Peppol XML Form as JobInfo Substitution?
    • 18 Mar 2026
    • 1 Minute to read
    • Contributors
    • PDF

    How Do I Prevent Lasernet Interpreting #compliant# in a Peppol XML Form as JobInfo Substitution?

    • PDF

    Article summary

    Applies to: Lasernet 10

    The cbc:CustomizationID element within Peppol BIS XML contains #compliant# within its value: urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0. However, Lasernet interprets #compliant# as JobInfo substitution syntax and attempts to insert a nonexistent JobInfo.

    To prevent Lasernet from doing this, you must use the ¤ symbol (generic currency symbol; ASCII character 164; shortcut Alt+0164 on the numeric keyboard) as an escape character for the first # character. Alternatively, you can insert a special character into the #compliant# text (to prevent JobInfo substitution from happening) and then filter out that special character from the output XML.

    The following sections describes these methods.

    Use the ¤ Symbol

    You can modify the XML template, or if a rearrange inserts the cbc:CustomizationID element value from the input data, you can add a script to the rearrange to appropriately insert the ¤ symbol.

    Modify the XML Template

    This method involves adding the ¤ symbol before the first # character in the XML template.

    To do this, follow these steps:

    1. Right-click the cbc:CustomizationID element value in the output side of the form, then click Properties.

      The Properties menu item for a node.

    2. In the Default Value box, insert the ¤ symbol in front of the first # character (see 1 in the image below).

      A number annotated screenshot of the Node Template Properties window that indicates how to change the settings of the XML node.

    3. Select Use default value if no rearrange data is provided (2).

    4. Click Ok.

    The output XML contains #compliant#.

    The output preview for the template update method.

    Add a Script to the Relevant Rearrange

    If a rearrange inserts the cbc:CustomizationID element value from the input data, you can add a script to the rearrange.

    To do this, follow these steps:

    1. Add the following script to the Lasernet configuration:

      function InsertSunsignBeforeHashmark()
      { 
          var peppoltext = CurrentText; 
          peppoltext = peppoltext.replace("#","¤#"); 
          return peppoltext; 
      } 
    2. Use the script in the rearrange.

      A screenshot of the Edit XML Rearrange window that shows that a script has been added to the XML rearrange.

    The output XML contains #compliant#.

    The output preview for the script method.

    Insert a Special Character to Prevent JobInfo Substitution and Then Filter It Out

    Instead of escaping a # character, you can add a - (hyphen) within the #compliant# text to render it invalid for JobInfo substitution and prevent Lasernet from attempting to substitute it. Then, you can use a Text Filter modifier to remove the hyphen from the output XML.

    To do this, follow these steps:

    1. In the XML template, add a hyphen to change the text to #comp-liant#.

      A screenshot of the XML form and output preview that show that the XML value contains a hyphen.

    2. Add a text filter modifier to the output module to replace comp-liant with compliant.

      A red rectangle show the position of the search and replace properties of the text filter modifier.

      The text filter modifier on the Enter Modifiers tab of the output module's Properties window.