Invoice validation runs, but the result XML cannot be parsed. The parser complains about an &, and the expected summary section is missing. A Mustang report identifies version 2.26.0 and a filename containing an ampersand as the trigger. Q1 The initial investigation concerns report generation, not automatically the invoice's contents.
Keep three outcomes distinct
“Checked and valid”, “checked and invalid” and “validation or report could not be evaluated” are separate outcomes. veraPDF also distinguishes processing failures from conformance findings. Q2 An integration must not treat the absence of a readable error as proof of success.
Compare unchanged input contents
- Preserve input and raw output. Keep the invoice, unparsed validation report and first parser error. Record Mustang, Java and integration versions. A shortened log excerpt may omit the exact character sequence that matters.
- Create a neutral-name copy. Keep the file contents identical while assigning a simple test filename without special characters. Compare hashes so that the experiment changes only the name. Retain an explicit link to the original document.
- Parse both reports independently. Check well-formedness and completeness. Failure only with the original name narrows the reporting path, but does not establish whether the invoice itself is correct.
- Locate the faulty output. If the problematic name appears in the generated report, investigate safe XML serialization there. Do not globally replace ampersands inside the invoice XML: that can damage valid entities and meaningful content.
- Inspect the automated decision. Determine what the integration does with a parse error, empty report or missing summary. These documents need a visible unresolved validation state. They must not silently proceed as fully validated merely because the usual failure field is unavailable.
Verify the correction
The original discussion announces a forthcoming correction; that is not verification of the version installed in your system. Q1 Test an applicable update or fix with a neutral name, special characters and a deliberately invalid test invoice. The process must produce readable reports while continuing to detect genuine failures.
For handoff, provide the filename, a sanitised report excerpt, version details and the identical-content comparison. Full confidential invoices are unnecessary if a synthetic document reproduces the report-generation problem. This is a technical assessment of processing behaviour, not legal approval of the invoice. Preserve the original file and its identity throughout any temporary renaming step.
Example: Identical content, different filename, different report
Constructed diagnostic example: A synthetic test file is available as sample.pdf and sample & comparison.pdf. Their bytes should be identical. The comparison below is a test design, not a claim about observed results.
- Establish equality: Compare checksums for both copies. If they differ, the filename was not the only change and the comparison must be narrowed again.
- Preserve complete output: Use the same validator build and configuration for both files. Keep each complete raw report and its associated error separately.
- Classify the outcome: A complete valid report, a complete invalid report and an unreadable result are three different states. If XML parsing fails only with the special-character filename, the reporting path is implicated. That does not establish invoice validity.
Expected observation: Each report remains attributable to its input file. A missing summary is explicitly recorded as a missing result rather than silently accepted as successful validation.
Success check: After a targeted correction, both filenames produce readable, complete reports. An additional deliberately invalid test file must still be rejected. This checks reporting and acceptance logic together. Invoice contents remain unchanged during the filename comparison; replacing every ampersand in the invoice XML is not part of this test.
Technical references: Mustangproject issue 1327: Ampersand in filename breaks XML report · veraPDF: CLI validation and reports.
Frequently asked questions
Does the filename make the invoice itself invalid?
The described finding initially concerns the generated report. The invoice still requires its complete intended validation afterwards.
Can I just search the report as plain text?
That may help diagnosis, but it does not replace reliable structured interpretation and explicit failure handling.
Prepare a findings note
Summarise your observations for your enquiry. The note is created in your browser and is not saved or sent here. You can then copy it into the contact form.
Unknown is fine. Do not enter passwords, customer data or complete confidential logs.
Support with this issue
We can inspect report generation, parsing and invoice acceptance logic.
