About pacs008
pacs008 helps teams create and check ISO 20022 payment messages. It is a Python toolkit for payment operations.
What it does
- Generates XML for
pacs.008and related pacs messages. - Checks business data and XML before release.
- Exposes a FastAPI service for automated workflows.
- Provides a CLI for local runs and CI pipelines.
- Reads structured data from CSV, JSON, JSONL, SQLite, and Parquet.
- Checks IBAN and BIC identifiers before message generation.
- Cleans payment text for SWIFT character and length rules.
- Processes large datasets in batches to limit memory use.
- Ships a Docker image for API deployment.
Who it is for
- payment operations teams
- platform engineers building internal payment systems
- migration programmes moving to ISO 20022
- compliance and QA teams checking outbound payment messages
Validation
The toolkit checks data before it writes XML:
- JSON Schema checks for 20 message-specific schemas.
- IBAN format and checksum checks.
- BIC structure and country-code checks.
- XSD validation against official ISO 20022 schemas.
Security
The toolkit also blocks common parsing and file-handling risks:
- XXE protection for XML parsing.
- Path allowlists to reduce traversal risk.
- PII masking in structured logs.
- Strict SQLite table-name sanitisation.
2026 readiness
pacs008 is built around the 2026 deadlines and data checks that matter most:
- structured and hybrid postal address support for CBPR+ and scheme migrations.
- stronger checks for debtor, creditor, and agent data.
- version-aware generation across older and current pacs.008 revisions.
- automation paths for CI, batch runs, and internal payment services.
Operational focus
pacs008 is not just a message reference. It helps teams run payment workflows:
- generate XML from real source data.
- validate before delivery.
- model payment chains and downstream formats.
- make scheme-specific changes testable in code.
Implementation checklist
- Pick the right message family before writing templates.
- Validate business data before XML generation.
- Treat BIC, IBAN, remittance, and postal-address quality as release criteria.
- Regression-test each scheme or bank rule change with representative payment data.