{
  "id": "UBL-DT-18",
  "country": "EU",
  "syntax": "ubl",
  "group": "datatype",
  "severity": "warning",
  "severity_note": "warning, from the Flag column of the Peppol BIS Billing 3.0 UBL rules index retrieved 2026-10-18.",
  "spec": "Peppol BIS Billing 3.0, May 2026 release, EN 16931 model bound to UBL",
  "statement": "Name attribute should not be present",
  "statement_lang": "en",
  "context": "/ubl:Invoice | /cn:CreditNote",
  "test": "count(//@name) - count(//cbc:PaymentMeansCode/@name) <= 0",
  "meaning": "A name attribute should not be present. The statement has no period and says should not. It does not say shall. It is 36 characters. The flag is warning. The context is the same string as BR-CO-18. The published test is count(//@name) - count(//cbc:PaymentMeansCode/@name) <= 0. It writes <= with a space on each side. It calls count twice and subtracts the name attribute on PaymentMeansCode. It does not call exists.",
  "fix": "Leave name attributes off the document, except on PaymentMeansCode.",
  "example_fail": "The document includes a name attribute on an element other than PaymentMeansCode.",
  "example_pass": "A name attribute appears only on PaymentMeansCode, or the document has no name attribute.",
  "example_note": "Illustration of the condition in the official statement. Not an example published by the source.",
  "source_url": "https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/UBL-DT-18/",
  "source_retrieved": "2026-10-18",
  "last_verified": "2026-10-18"
}
