承接 azaharizaman/nexus-cash-management 相关项目开发

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

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

azaharizaman/nexus-cash-management

Composer 安装命令:

composer require azaharizaman/nexus-cash-management

包简介

Atomic package for managing bank accounts, bank statement imports, cash reconciliation, and liquidity forecasting

README 文档

README

Atomic, stateless package for managing bank accounts, bank statement imports, cash reconciliation, and liquidity forecasting—strictly decoupled from GL ownership.

Overview

The Nexus\CashManagement package provides comprehensive cash and bank account management capabilities within the Nexus ERP ecosystem. It focuses on:

  • Bank Account Management: Master data for company bank accounts with multi-currency support
  • Statement Import: Configurable CSV import with duplicate detection and validation
  • Automatic Reconciliation: AI-assisted matching of bank transactions to ERP records (Payments, Receipts, GL entries)
  • Manual Reconciliation: Review and approval workflow for unmatched transactions
  • Cash Flow Forecasting: Deterministic and AI-powered multi-scenario forecasting
  • Cash Position Tracking: Real-time cash position across all bank accounts

Core Philosophy

Strict Decoupling

This package adheres to the "Logic in Packages, Implementation in Applications" principle:

  • Framework-Agnostic: Pure PHP with zero Laravel dependencies
  • Contract-Driven: All dependencies expressed via interfaces
  • Stateless Operations: No GL posting—only reconciliation and classification
  • Integration via Events: Consumes Nexus\Import events for statement data

Separation of Concerns

Nexus\Import          → Parses CSV files → Emits StatementLineDTO[]
Nexus\CashManagement  → Consumes DTOs   → Creates BankStatement entities → Matches transactions
Nexus\Finance         → Receives post commands → Creates Journal Entries

Architecture

Key Design Decisions

  1. AuditLogger for Timeline (V1): All reconciliation events logged for user-facing timeline
  2. EventStream Optional (V2): Available for large enterprises requiring SOX compliance and temporal queries
  3. Manual GL Posting: Reconciliation engine creates PendingAdjustment entities; user manually posts to GL
  4. Auto-Reversal: Rejected pending adjustments automatically reverse payment applications via workflow
  5. AI Governance: Model versioning tracked in PendingAdjustment for explainability

Integration Points

  • Nexus\Finance: GL account validation, journal entry posting
  • Nexus\Receivable: Payment application matching and reversal
  • Nexus\Payable: Payment matching for outflows
  • Nexus\Period: Period validation for transaction dates
  • Nexus\Currency: Multi-currency exchange rates (V2)
  • Nexus\Sequencing: Auto-numbering for statements and reconciliations
  • Nexus\Import: CSV file parsing and standardization
  • Nexus\Setting: Feature flags and configuration
  • Nexus\Workflow: High-value variance escalation and reversal approval
  • Nexus\Intelligence (optional): AI-powered classification and forecasting
  • Nexus\QueryEngine (optional): Cash Conversion Cycle and bank fee analysis

Features

Bank Account Management

$bankAccount = $cashManager->createBankAccount(
    tenantId: $tenantId,
    accountCode: '1000-01',
    glAccountId: $glAccountId,
    accountNumber: '1234567890',
    bankName: 'Maybank',
    bankCode: 'MBB',
    accountType: BankAccountType::CHECKING,
    currency: 'MYR',
    csvImportConfig: [
        'date_column' => 'Transaction Date',
        'description_column' => 'Description',
        'debit_column' => 'Debit',
        'credit_column' => 'Credit',
        'balance_column' => 'Balance'
    ]
);

Statement Import

// Import via Nexus\Import package (emits FileImportedEvent)
// BankStatementImportedListener consumes event and creates entities

$result = $cashManager->reconcileStatement($statementId);

echo "Matched: {$result->getMatchedCount()}\n";
echo "Unmatched: {$result->getUnmatchedCount()}\n";

Cash Flow Forecasting

$parameters = ScenarioParametersVO::fromScenarioType(
    ForecastScenarioType::BASELINE,
    horizonDays: 90
);

$forecast = $cashFlowForecaster->forecast($tenantId, $parameters);

if ($forecast->hasNegativeBalance()) {
    // Alert: Liquidity risk detected
}

Pending Adjustment Posting

// User reviews unmatched transaction
$cashManager->postPendingAdjustment(
    pendingAdjustmentId: $adjustmentId,
    glAccount: '6200', // Bank Fees Expense
    postedBy: $userId
);

// If user rejects (wrong match):
$cashManager->rejectPendingAdjustment(
    pendingAdjustmentId: $adjustmentId,
    reason: 'Incorrect match - customer deposit',
    rejectedBy: $userId
);
// Triggers automatic payment application reversal + GL workflow

Value Objects

  • BankAccountNumber: Validated bank account with IBAN/SWIFT support
  • StatementPeriod: Date range with overlap detection
  • ReconciliationTolerance: Amount/date variance thresholds
  • CashPosition: Point-in-time balance snapshot
  • CSVColumnMapping: Import configuration
  • ScenarioParametersVO: Forecast scenario parameters
  • ForecastResultVO: Persistable forecast output
  • StatementHash: Cryptographic deduplication
  • AIModelVersion: Semantic versioning for AI models

Enums

  • BankAccountType: CHECKING, SAVINGS, CREDIT_CARD, MONEY_MARKET, LINE_OF_CREDIT
  • BankAccountStatus: ACTIVE, INACTIVE, CLOSED, SUSPENDED
  • BankTransactionType: DEPOSIT, WITHDRAWAL, TRANSFER, FEE, INTEREST, etc.
  • ReconciliationStatus: PENDING, MATCHED, VARIANCE_REVIEW, RECONCILED, UNMATCHED, REJECTED
  • MatchingConfidence: HIGH, MEDIUM, LOW, MANUAL
  • ForecastScenarioType: OPTIMISTIC, BASELINE, PESSIMISTIC, CUSTOM

Exceptions

  • BankAccountNotFoundException
  • DuplicateStatementException
  • PartialOverlapException
  • ReconciliationException
  • ReversalRequiredException
  • InvalidStatementFormatException
  • UnmatchedTransactionsException

Multi-Currency Support (V2)

The package schema is V2-ready with nullable columns:

  • transaction_currency
  • exchange_rate
  • functional_amount

Multi-currency activation requires:

$featureManager->isEnabled('multi_currency_banking')

Dependencies

  • azaharizaman/nexus-finance - GL integration
  • azaharizaman/nexus-receivable - Payment application
  • azaharizaman/nexus-payable - Payment matching
  • azaharizaman/nexus-period - Period validation
  • azaharizaman/nexus-currency - Exchange rates
  • azaharizaman/nexus-sequencing - Auto-numbering
  • azaharizaman/nexus-import - Statement parsing
  • azaharizaman/nexus-setting - Configuration
  • azaharizaman/nexus-workflow - Approval processes

Optional Dependencies

  • azaharizaman/nexus-intelligence - AI classification/forecasting
  • azaharizaman/nexus-query-engine - KPI calculation

Installation

composer require azaharizaman/nexus-cash-management:"*@dev"

📖 Documentation

Package Documentation

Additional Resources

  • IMPLEMENTATION_SUMMARY.md - Implementation progress, metrics, and architecture details
  • REQUIREMENTS.md - Detailed requirements (58 requirements, 96.6% complete)
  • TEST_SUITE_SUMMARY.md - Test coverage strategy and recommendations
  • VALUATION_MATRIX.md - Package valuation metrics ($140,576 estimated value)
  • See root ARCHITECTURE.md for overall system architecture

License

MIT License. See LICENSE file for details.

azaharizaman/nexus-cash-management 适用场景与选型建议

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

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

围绕 azaharizaman/nexus-cash-management 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-05-04