- Keep existing
toJson()integrations unchanged. - Introduce
toNormalized()for product-facing transaction pipelines. - Use
validate()before persistence/import finalization. - In user-upload flows, prefer
parserMode: 'lenient'and inspectgetWarnings().
When a contract needs to change:
- Prefer additive behavior first.
- Add migration notes and examples.
- Clearly document breaking impact in release notes.
- Provide fallback/deprecation period whenever possible.