• Mahmoud Aglan's avatar
    feat(accounting): allocation wizard with a live running remainder · 00dfe062
    Mahmoud Aglan authored
    Splitting a payment across GL accounts previously meant the advanced rule
    editor — a table of lines with no feedback until save. The finance team's
    actual question is "20% here, 30% there, where does the rest go?", which
    needs the remainder visible while you allocate.
    
    - New wizard screen: base amount (pre-filled from the stream's actual
      collection average), member-category scope, progressive allocation with
      the unallocated balance as a running figure plus a proportional bar,
      a mandatory remainder destination, and a live journal-entry preview
      that balances before you can save.
    - The wizard's arithmetic mirrors RevenueAllocator exactly — tax off the
      top, fixed lines from the pool, percentages of net-after-fixed — so the
      preview is what actually posts. Verified against the live allocator:
      150,000 → 20%/30%/rest = 30,000 / 45,000 / 75,000, and with 14%
      inclusive VAT = 26,315.79 / 39,473.69 / 65,789.47 on net 131,578.95.
    - Wire member_category through resolveRule() with specificity scoring
      (category > branch > payment method), so a working-member split wins
      over the general rule with no extra configuration.
    - update() resolves and supersedes only the same-scope rule, and no
      longer reads $memberCategory before assigning it.
    - Wizard is now the default action from the mapping list and the
      connection centre; the advanced editor moves behind a  link.
    - Arabic tutorial in docs/معالج-توزيع-المبالغ.md.
    Co-Authored-By: 's avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
    00dfe062
Name
Last commit
Last update
..
AccountStatementController.php Loading commit data...
BankAccountController.php Loading commit data...
BankLoanController.php Loading commit data...
BankReconciliationController.php Loading commit data...
BillingController.php Loading commit data...
BudgetController.php Loading commit data...
ChartOfAccountsController.php Loading commit data...
CostCenterController.php Loading commit data...
DailyTransactionController.php Loading commit data...
DimensionController.php Loading commit data...
DocumentaryCreditController.php Loading commit data...
FiscalYearController.php Loading commit data...
InstrumentPortfolioController.php Loading commit data...
JournalEntryController.php Loading commit data...
JournalTypeController.php Loading commit data...
LetterOfGuaranteeController.php Loading commit data...
NegotiableInstrumentController.php Loading commit data...
OpeningEntryController.php Loading commit data...
PeriodClosingController.php Loading commit data...
ReportController.php Loading commit data...
RevenueMappingController.php Loading commit data...
SettlementController.php Loading commit data...
VoucherController.php Loading commit data...