Payments, Deposits & Bank#

Cash management — banks, deposits (money in), payments (money out), and recurring payments.

Banks#

BankSetupHelper manages bank accounts, their currencies, and the GL accounts they map to. Every deposit and every payment picks a bank; that choice drives the cash GL account.

Deposits#

Deposits are cash-in — customer payments, refunds, misc receipts. A deposit slip groups payments landing in the same bank on the same date. DepositHelper builds the slip and applies the constituent payments to open AR invoices; unapplied amounts land in an on-account balance.

Payments#

Payments are cash-out — supplier disbursements. Selection is by payment type (MnxPaymentTypeHelper, PaymentType) and driven by the AP aging + terms — pay what’s due, take discounts where date permits.

  • PaymentTypeController / MnxPaymentTypeHelper — payment methods (check, ACH, wire, credit card).
  • RecurringPaymentsController — schedule of standing payments; the ManExService CalenderTrigger generates the actual payment records on schedule.
  • PmtTermsController — payment terms master (Net 30, 2/10 Net 30, etc.).

Business rules#

  • A payment can only draw on a bank whose currency matches the invoice currency, unless a cross-currency payment rate is captured.
  • Voiding a payment posts a reversing journal — never a delete.
  • Deposits can be re-opened only if no bank reconciliation has consumed them.
  • Recurring payments are generated in an unreleased state so a human can review before release.

Where it lives#

LayerFile
ControllerBankSetupController, DepositsController, PaymentsController, PaymentTypeController, PmtTermsController, RecurringPaymentsController
HelperMnxEFModel/Helper/BankSetup/BankSetupHelper.cs, DepositHelper.cs, MnxPaymentTypeHelper.cs
RelatedAP, AR, GL