codelicious / php-belgianbankstatement-parser
比利时银行多种银行对账单格式的统一解析器
v2.4.1
2024-05-15 11:59 UTC
Requires
- php: >=7.0
- codelicious/php-coda-parser: ^2.1
- kingsquare/php-mt940: ^1.1
Requires (Dev)
- phpunit/phpunit: ^9.0
README
比利时银行多种银行对账单格式的统一解析器。支持CODA、MT940和CSV(BNP Paribas / Belfius / KBC / ING)
安装
您可以使用Composer安装Codelicious/BelgianBankStatement。您可以在Packagist主页上了解更多关于Composer及其主要仓库的信息。首先按照Packagist主页上的说明为您的项目安装Composer,然后在您的composer.json
文件中定义对Codelicious/BelgianBankStatement的依赖。
{ "require": { "codelicious/php-belgianbankstatement-parser": "^2.0" } }
或者,您可以在项目根目录中执行以下命令来安装此库
composer require codelicious/php-belgianbankstatement-parser
使用方法
<?php use Codelicious\BelgianBankStatement; $parser = new Parser(); $statement = $parser->parseFile('coda-file.cod', 'coda'); echo $statement->getDate()->format('Y-m-d') . "\n"; foreach ($statement->getTransactions() as $transaction) { echo $transaction->getAccount()->getName() . ": " . $transaction->getAmount() . "\n"; } echo $statement->newBalance() . "\n";
编码考虑因素
对账单中可能存在非UTF-8字符。为了统一您摄取的对账单的编码,您可能希望在解析之前将编码转换为UTF-8。
if (mb_detect_encoding($content, ['UTF-8', 'ISO-8859-1']) === 'ISO-8859-1') { // use mb_convert_encoding($content, to_encoding, from_encoding) to convert to UTF-8 $content = mb_convert_encoding($content, "UTF-8", "ISO-8859-1"); }
对账单结构
Codelicious\BelgianBankStatement\Statement
日期
- 提供的文件的日期(格式YYYY-MM-DD)账户
- 为其对账单创建的账户。实现Codelicious\BelgianBankStatement\Account
的对象初始余额
- 处理交易之前的账户余额。最多3位小数。新余额
- 处理交易之后的账户余额。最多3位小数。交易
- 作为Codelicious\BelgianBankStatement\Transaction
实现的交易列表
Codelicious\BelgianBankStatement\Account
名称
- 账户持有人的姓名Bic
- 账户的银行代码号码
- 账户的银行账号货币代码
- 账户的货币国家代码
- 账户的国家
Codelicious\BelgianBankStatement\Transaction
账户
- 交易另一方的账户。实现Codelicious\BelgianBankStatement\Account
的对象交易日期
- 请求交易日期起息日期
- 银行执行交易日期金额
- 交易金额。最多3位小数。信用交易的金额为负数。消息
- 交易消息结构化消息
- 交易的结构化消息(如果有的话)