承接 ksf-bank-import/csv-parsers 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ksf-bank-import/csv-parsers

Composer 安装命令:

composer require ksf-bank-import/csv-parsers

包简介

Generic CSV Parser for Bank Statement Imports

README 文档

README

A PHP-based suite of CSV parsers for banking and credit card statements (WMMC, BCR, ING, RBC), designed for integration into the ksf_bank_import system.

Features

  • Multi-Bank Support: Dedicated parsers for WMMC, BCR, ING, and RBC bank statement formats.
  • Generic CSV Engine: Abstract GenericCsvParser with semi-auto column recognition via alias-based header mapping.
  • ContactData Integration: Uses ksfraser/contact-dto for standardized payee/contact handling via \Ksfraser\Contact\DTO\ContactData.
  • Statement Management: Groups transactions into statements automatically.
  • Standardized Output: Returns Statement and Transaction entity objects for easy integration.
  • State Machine Processing: Handles multi-line and split transactions (e.g., GnuCash style).
  • Requirement Traceability: Follows AGENTS.md standards for documentation and mapping.

Installation

composer require ksf-bank-import/csv-parsers

This will also install the ksfraser/contact-dto dependency automatically.

Usage

use Parsers\Parsers\WmmcCsvParser;
use Parsers\Parsers\BcrCsvParser;
use Parsers\Parsers\IngCsvParser;
use Parsers\Parsers\RbcCsvParser;

// Example: WMMC Parser
$parser = new WmmcCsvParser();
$statements = $parser->parse($csvContent);

// Each Statement contains Transactions with ContactData payees
foreach ($statements as $statement) {
    foreach ($statement->getTransactions() as $transaction) {
        $payee = $transaction->getPayee(); // Returns \Ksfraser\Contact\DTO\ContactData or null
        echo $payee->name;
    }
}

Requirements

  • PHP 7.3+
  • Composer dependencies:
    • ksfraser/contact-dto (^0.1.0) — ContactData DTO for payee handling

Architecture

This project uses a polymorphic parser hierarchy:

  • Base: src/Parsers/GenericCsvParser.php — Abstract CSV engine with header detection, column mapping, and mapToContactField().
  • Parsers: src/Parsers/ — Bank-specific implementations (WMMC, BCR, ING, RBC) extending the generic engine.
  • Entities: src/Entities/ — Domain objects: Statement, Transaction, BankAccount, Balance, Currency.
  • ContactData: Payee data uses \Ksfraser\Contact\DTO\ContactData from the ksfraser/contact-dto package.

For detailed architecture, see Project_Architecture_Blueprint.md.

Testing

./vendor/bin/phpunit
  • 62 tests, 1080 assertions, 265 lines covered — 100% code coverage
  • Test Organization: tests/Parsers/ (parser tests), tests/Entities/ (entity tests), tests/GlobalIntegrationTest.php (integration)
  • Fixtures: Anonymized test CSVs in tests/fixtures/

Development

Follow the standards in AGENTS.md when contributing.

  • SOLID Principles: Each parser has single responsibility; extend GenericCsvParser for new banks.
  • TDD: Write tests before implementing features (Red-Green-Refactor).
  • Documentation: Include PHPDoc with UML diagrams and @requirement tags.

ksf-bank-import/csv-parsers 适用场景与选型建议

ksf-bank-import/csv-parsers 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 03 月 20 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 ksf-bank-import/csv-parsers 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 ksf-bank-import/csv-parsers 我们能提供哪些服务?
定制开发 / 二次开发

基于 ksf-bank-import/csv-parsers 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 40
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-20