Namespace Microsoft.Bank.Check
Manages the complete lifecycle of physical and electronic checks within Business Central's banking system. Provides comprehensive check processing functionality including check creation, printing, voiding, financial reconciliation, and positive pay export capabilities.
Codeunit
| Name | Description |
|---|---|
| Codeunit Microsoft.Bank.Check.CheckManagement | Manages check printing, voiding, and electronic payment processing for bank accounts. Handles complete check lifecycle from creation through financial voiding and positive pay export. |
Table
| Name | Description |
|---|---|
| Table Microsoft.Bank.Check."Check Ledger Entry" | Tracks the lifecycle and status of physical and electronic checks issued from bank accounts. Maintains complete audit trail from creation through voiding with bank reconciliation support. |
Page
| Name | Description |
|---|---|
| Page Microsoft.Bank.Check."Apply Check Ledger Entries" | Provides interface for applying check ledger entries to bank account reconciliation lines. Enables users to match checks with bank statement entries for accurate reconciliation. |
| Page Microsoft.Bank.Check."Check Ledger Entries" | Displays comprehensive list of check ledger entries with filtering and navigation capabilities. Provides read-only view of check transactions for analysis and lookup purposes. |
| Page Microsoft.Bank.Check."Check Preview" | Provides formatted preview of check layout and content before final printing. Displays payer information, payee details, and check amounts in standard check format. |
| Page Microsoft.Bank.Check."Confirm Financial Void" | Provides confirmation dialog for financial voiding of posted checks with void date and type selection. Allows users to specify void date and choose between unapply+void or void-only operations. |
Report
| Name | Description |
|---|---|
| Report Microsoft.Bank.Check.Check | Generates formatted check documents with proper alignment and security features. Supports multiple check formats, void processing, and remittance stub generation. |
| Report Microsoft.Bank.Check."Delete Check Ledger Entries" | Removes non-printed check ledger entries from the database to manage storage space. Maintains audit trail through date compression register while safely cleaning historical data. |
| Report Microsoft.Bank.Check."Void/Transmit Elec. Pmnts" | Manages electronic payment transmission and voiding operations for exported payment files. Processes electronic payments through bank-specific transmission protocols and void procedures. |
Events
| Name | |
|---|---|
| OnAfterCalcAmountToVoid | Integration event raised after calculating the total amount to void for a check. Enables custom calculation logic or adjustments to the void amount. |
| OnAfterVoidCheck | Integration event raised after successfully voiding a check entry. Enables custom processing or logging after the void operation completes. |
| OnAfterFinancialVoidCheck | Integration event raised after completing a financial void operation on a check. Enables custom processing or notifications after the check has been financially voided. |
| OnAfterFinancialVoidCheckPreValidation | Integration event raised after validating prerequisites for financial void operation. Enables additional validation or processing after standard void validation completes. |
| OnBeforeVoidCheck | Integration event raised before starting a check void operation. Enables custom validation or processing before the void operation begins. |
| OnBeforeMarkCheckEntriesVoid | Integration event raised before marking check ledger entries as void. Enables custom logic for handling check entry void marking. |
| OnBeforeFinancialVoidCheck | Integration event raised before starting a financial void operation on a check. Enables custom validation or alternative void processing. |
| OnBeforeVoidCheckGenJnlLine2Modify | Integration event raised before modifying a general journal line during check void operation. Enables custom field updates or validation before journal line modification. |
| OnMarkCheckEntriesVoidOnBeforeRelatedCheckLedgerEntry2Modify | Integration event raised before modifying related check ledger entries during void operation. Enables custom processing of related check entries before they are marked as voided. |
| OnMarkCheckEntriesVoidOnBeforeOriginalCheckLedgerEntryModify | Integration event raised before modifying the original check ledger entry during void operation. Enables custom field updates or validation before the original check entry is marked as voided. |
| OnVoidCheckOnAfterGenJnlLine2Modify | Integration event raised after modifying a general journal line during check void operation. Enables custom processing or logging after journal line has been updated with void status. |
| OnVoidCheckOnAfterCheckLedgEntry2SetFilters | Integration event raised after setting filters on check ledger entry during void operation. Enables custom filter modification or additional processing on filtered check entries. |
| OnFinancialVoidCheckOnBeforePostCust | Integration event raised before posting customer entries during financial void operation. Enables custom processing or validation before customer ledger entries are posted. |
| OnFinancialVoidCheckOnBeforeCheckBalAccountType | Integration event raised before checking balance account type during financial void operation. Enables custom validation or processing based on the balance account type. |
| OnFinancialVoidCheckOnBeforePostBankAccount | Integration event raised before posting bank account entries during financial void operation. Enables custom processing or validation before bank account ledger entries are posted. |
| OnFinancialVoidCheckOnBeforePostFixedAsset | Integration event raised before posting fixed asset entries during financial void operation. Enables custom processing or validation before fixed asset ledger entries are posted. |
| OnFinancialVoidCheckOnBeforePostVend | Integration event raised before posting vendor entries during financial void operation. Enables custom processing or validation before vendor ledger entries are posted. |
| OnFinancialVoidCheckOnBeforePostEmp | Integration event raised before posting employee entries during financial void operation. Enables custom processing or validation before employee ledger entries are posted. |
| OnFinancialVoidCheckOnAfterPostVoidCheckLine | Integration event raised after posting a void check line during financial void operation. Enables custom processing or logging after void entries are posted. |
| OnFinancialVoidCheckOnAfterVendorLedgEntrySetFilters | Integration event raised after setting filters on vendor ledger entries during financial void operation. Enables custom filter modification or additional processing on filtered vendor entries. |
| OnFinancialVoidCheckOnBeforePostVoidCheckLine | Integration event raised before posting a void check line during financial void operation. Enables custom processing or validation before void entries are posted. |
| OnFinancialVoidCheckOnAfterPostBalAccLine | Integration event raised after posting balance account line during financial void operation. Enables custom processing or logging after balance account entries are posted. |
| OnFinancialVoidCheckOnBeforePostBalAccLine | Integration event raised before posting balance account line during financial void operation. Enables custom processing or validation before balance account entries are posted. |
| OnFinancialVoidPostGLAccountOnBeforeGLEntryLoop | Integration event raised before processing G/L entries loop during financial void of G/L account. Enables custom processing or filtering of G/L entries before void operation. |
| OnInsertCheckOnAfterCheckLedgEntryInsert | Integration event raised after inserting a new check ledger entry. Enables custom processing or additional field updates after check entry creation. |
| OnInsertCheckOnBeforeCheckLedgEntryInsert | Integration event raised before inserting a new check ledger entry. Enables custom field updates or validation before check entry creation. |
| OnPostRoundingAmountOnAfterGenJnlPostLine | Integration event raised after posting rounding amount entries during financial void operation. Enables custom processing or logging after currency rounding entries are posted. |
| OnProcessElectronicPaymentOnBeforeCheckLedgEntry3Modify | Integration event raised before modifying check ledger entry during electronic payment processing. Enables custom field updates or validation before electronic payment status changes. |
| OnPostRoundingAmountOnBeforeGenJnlPostLine | Integration event raised before posting rounding amount entries during financial void operation. Enables custom processing or validation before currency rounding entries are posted. |
| OnUnApplyCustInvoicesOnBeforePost | Integration event raised before posting unapplication entries for customer invoices during void operation. Enables custom processing or validation before customer unapplication entries are posted. |
| OnUnApplyVendInvoicesOnBeforePost | Integration event raised before posting unapplication entries for vendor invoices during void operation. Enables custom processing or validation before vendor unapplication entries are posted. |
| OnAfterIsElectronicBankPaymentType | Integration event raised after determining if a bank payment type is electronic. Enables custom logic for identifying electronic payment types. |
| OnUnApplyCustInvoicesOnAfterCalcRemainingAmount | Integration event raised after calculating remaining amount for customer entries during void operation. Enables custom processing or adjustments after remaining amount calculation for customer ledger entries. |
| OnUnApplyVendInvoicesOnAfterCalcRemainingAmount | Integration event raised after calculating remaining amount for vendor entries during void operation. Enables custom processing or adjustments after remaining amount calculation for vendor ledger entries. |
| OnUnApplyVendInvoicesOnBeforeErrorNoAppliedEntry | Integration event raised before showing error for missing applied entries during vendor invoice unapplication. Enables custom error handling or alternative processing when no applied entries are found. |
| OnBeforeSetGenJnlLine | Integration event raised before setting general journal line fields during check operations. Enables custom field updates or validation before journal line field assignment. |
| OnAfterSetGenJnlLine | Integration event raised after setting general journal line fields during check operations. Enables custom field updates or additional processing after journal line field assignment. |
| OnBeforeUnApplyVendInvoices | Integration event raised before starting vendor invoice unapplication during void operation. Enables custom logic for handling vendor invoice unapplication or skipping standard processing. |
| OnFinancialVoidCheckOnBeforeConfirmFinancialVoid | Integration event raised before confirming financial void operation on a check. Enables custom confirmation dialog or validation before financial void confirmation. |
| OnBeforePostRoundingAmount | Integration event raised before posting rounding amount during financial void operation. Enables custom processing or validation before currency rounding entries are posted. |
| OnAfterCopyFromBankAccLedgEntry | Integration event raised after copying data from bank account ledger entry to check ledger entry. Enables additional field initialization or custom processing during check entry creation. |
| OnAfterGetPayee | Integration event raised after retrieving the payee name for a check. Enables custom logic for determining or modifying the payee name based on account type and number. |
| OnBeforeOnOpenPage | Integration event raised before opening the Check Ledger Entries page. Enables custom initialization or setup before page display. |
| OnBeforeFormatTextFieldsForCheck | Integration event raised before formatting text fields for check display. Enables custom formatting logic or field population before standard check formatting. |
| OnAfterFormatTextFieldsForCheck | Integration event raised after formatting text fields for check display. Enables custom modifications to formatted check text fields. |
| OnBeforeOnOpenPage | Integration event raised before opening the Confirm Financial Void page. Enables custom initialization or preprocessing before void confirmation dialog display. |
| OnAfterFormatNoText | Integration event raised after formatting numeric amount to text for check printing. Enables custom formatting or modification of the text representation of check amounts. |
| OnAfterVendUpdateAmounts | Integration event raised after updating vendor ledger entry amounts during check processing. Enables custom processing or field updates after vendor amount calculations. |
| OnGenJnlLineOnAfterGetRecordOnAfterBalancingTypeVendorCase | Integration event raised after processing vendor record in general journal line context. Enables custom processing or field updates after vendor data retrieval for balancing account. |
| OnAfterAssignGenJnlLineDocumentNo | Integration event raised after assigning document number to general journal line. Enables custom processing or logging after document number assignment. |
| OnAfterAssignGenJnlLineDocNoAndAccountType | Integration event raised after assigning document number and account type to general journal line. Enables custom processing after document and account type assignment in specific apply methods. |
Remarks
Architecture: The check management system is built on an event-driven architecture with the following key components:
Core Transaction Processing:
- Check Ledger Entry: Central transaction record maintaining complete check audit trail
- Check Management: Business logic codeunit orchestrating all check operations
- Check Report: Formatted output generation with security features and void processing
User Interface Components:
- Check Ledger Entries: Comprehensive transaction history and lookup interface
- Apply Check Ledger Entries: Payment application and reconciliation interface
- Check Preview: Visual verification before printing or processing
Administrative Tools:
- Confirm Financial Void: Secure void operation confirmation interface
- Delete Check Ledger Entries: Maintenance utility for entry cleanup
- Void/Transmit Electronic Payments: Electronic payment processing interface
Key Workflows:
- **Check Creation and Printing:**Create payment journal entries with check payment methods, assign sequential check numbers, generate formatted check documents with security features
- **Check Voiding Operations:**Perform void operations (simple, financial, or transmit electronic), update check ledger status, handle reversing entries for financial voids
- **Check Application and Reconciliation:**Apply checks to invoices and payments, match bank statement entries to check ledger records, validate check clearing and settlement
Integration Points: Integrates with General Journal for payment entry creation, Bank Account management for check number sequencing, Purchase/Sales systems for payment application, and Positive Pay systems for fraud prevention and security validation.
Extensibility:
Key extension points include OnBeforeFinancialVoidCheck for custom void validation, OnAfterInsertCheck for check creation hooks,
and OnBeforeCheckReport for custom check formatting. Supports positive pay integration through OnAfterExportPositivePay.
Dependencies:
Required: Microsoft.Bank.BankAccount, Microsoft.Finance.GeneralLedger.Journal
Optional: Microsoft.Bank.PositivePay, Microsoft.Purchases.Payables, Microsoft.Bank.Reconciliation