Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Camt Laravel Package

genkgo/camt

A PHP library for reading CAMT bank statement files, supporting CAMT.052, CAMT.053, and CAMT.054 formats across multiple versions. Install via Composer, then loop through statements and entries with a simple reader API.

View on GitHub
Deep Wiki
Context7

PHP Parser for CAMT messages

Frequently asked questions about Camt
How do I install genkgo/camt in a Laravel application?
Install it with composer require genkgo/camt. The library is plain PHP and requires PHP 8.x plus the ext-dom and ext-simplexml extensions, which are present in standard Laravel images. You do not need to register a Laravel package service provider just to use the reader. After installation, instantiate the Reader with Config::getDefault() and point it at your CAMT XML file.
Does genkgo/camt support Laravel 10, 11, and 12?
The package has no framework coupling, so it can be used in Laravel 10 through 12 as long as your PHP and XML extensions meet its requirements. Compatibility is with PHP and ext-dom/ext-simplexml rather than a Laravel service provider. Test it in your application image because the evaluation targets Laravel 10 to 12 and PHP 8.1 and above. There is no Laravel-specific integration layer to upgrade.
Which CAMT message types and versions does genkgo/camt support?
It supports reading CAMT.052, CAMT.053, and CAMT.054 messages only. Version coverage is a sparse matrix: for example, CAMT.052 supports 001.01, .02, .04, .06, and .08; CAMT.053 supports .02, .03, .04, and .08; CAMT.054 supports .02, .04, and .08 in the README matrix. Confirm the exact revisions your banks emit, especially newer .09, .10, and .11 revisions that are listed as unsupported.
How do I read a CAMT.053 file and loop through statements and entries in Laravel?
Create a Reader with Config::getDefault(), call readFile() on the CAMT XML path, then use the message's statement collection. For each statement, loop through its entries and read the transaction details you need. Keep this code behind your own parser interface so Genkgo DTOs do not leak into reconciliation or ledger code. The README shows the basic reader, statement, and entry loop pattern.
Do I need a Laravel service provider or config file for genkgo/camt?
No. genkgo/camt is a plain PHP library with no service-provider requirement and no global state. In Laravel you can instantiate it directly or bind your own thin adapter in a service provider you write. A bank-profile config map is useful for expected message versions and parser options, but it is your integration concern, not a package requirement.
What are alternatives to genkgo/camt for Laravel CAMT parsing?
Alternatives include other PHP CAMT readers or custom ISO 20022 XML mapping, though the provided context does not name specific competitors. genkgo/camt is attractive because it is framework-agnostic and installs via Composer, but it is read-only and its CAMT version coverage is limited. Compare alternatives on version support, transaction-detail completeness, XML security, maintenance activity, and whether they provide a writer. Also note that genkgo/camt cannot generate CAMT statements or pain.001 payment files.
What are the production risks of using genkgo/camt for bank statement imports?
The main risk is CAMT version coverage: unsupported or newer revisions may fail or produce partial objects, which is a serious incident in a finance workflow. Bank files are also often not strictly XSD-valid, so you must characterise parser behaviour on padding, encoding quirks, and missing optional balances. The library does not reconcile, validate business rules, or persist data, so those controls remain yours. Recent release activity is positive, but plan for the possibility of vendoring or forking given the small maintainer pool.
How should I handle unsupported CAMT versions or malformed XML with genkgo/camt?
Fail loudly per bank and per file rather than silently accepting an empty or partial result. Put detection in front of the parser, compare the message version against your bank-profile map, and route unsupported revisions to an exception or quarantine path. Test the library's actual failure behaviour on malformed XML and non-conformant files before production. Keep the raw upload and parser diagnostics for reconciliation support.
Does genkgo/camt validate CAMT files against XSD or business rules?
The library's role is narrow: turn ISO 20022 CAMT XML into typed objects. It does not perform business-rule reconciliation, ledger validation, or persistence. XSD strictness is a concern because real bank files may not be valid, so you need to understand whether the parser rejects, partially reads, or silently skips details. Treat validation and accounting controls as your own anti-corruption layer.
Is genkgo/camt safe for XML external entities and large CAMT.053 files?
The provided evaluation does not confirm XXE or DTD handling, so verify that external entities and DTDs are disabled before trusting uploads. Parse inside a process with no network or filesystem reach beyond the uploaded file as defence in depth. For large CAMT.053 files with thousands of entries, benchmark memory because the context does not confirm whether the reader uses full DOM or streaming. Also confirm whether amounts are handled as decimal-safe strings or floats.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
takashato/laravel-vietqr
aitor24/laralang
kraenzle-ritter/entity-relations
dindigital/din-image
pomirleanu/image-colors
sawmainek/laravel-api-generator
delatbabel/jsonresponses
mouhamedfd/permissions-generator
eduplus/qr
laravel2580/idehelpers
delatbabel/viewpages
anavel/gettext
muhamadrezaar/highcharts
delatbabel/keylists
frankkessler/salesforce-laravel-oauth2-rest
anavel/foundation
wdmtech/enviricons
eii/laravel-captcha
muka/shape-reader
tdt/json