Welcome to the CustomBooks™ Labrador 2026.08.06 release! This update introduces powerful new controls and crucial data validations designed to protect your ledger's accuracy and streamline your daily operations. Key highlights include customizable credit applications for sales invoices, strict data locking for shipped and closed-period orders, multi-level sub-assembly print forms, and optimized UI layouts for integrations.
Review the sections below for full details on the improvements and workflow enhancements included in this release.
Improvements
Sales Settings
Default Credit Application Controls for Sales Invoices
We have introduced a major control update to the Sales Settings engine regarding how client overpayments and unapplied Cash Receipts interact with Sales Invoices (SI).
Previously, the platform utilized an implicit background automation rule that silently and automatically applied any open, unapplied Cash Receipts to new Sales Invoices as long as the customer account matched and the invoice date succeeded the payment date. This behavior caused widespread confusion, unexpected automatic invoice settlements, and significant back-end reconciliation rework for teams who manually had to open individual invoices to change the configuration status and unapply the credit line by line.
With this update, business units can completely customize or disable this background cash allocation behavior to fit their explicit corporate accounting workflows.
How It Works
The credit allocation workflow can now be explicitly configured by system administrators:
- New Global Admin Configuration Toggle: Inside the Admin Panel ➔ Sales Settings, users will find a new default dropdown selection framework labeled "Default Credit Application on Sales Invoices". Administrators can choose from three operational defaults:
- Apply Automatically: Preserves the legacy behavior where the engine automatically clears balances against open unapplied customer cash.
- Do Not Apply Automatically: Completely halts automatic allocation. Credits remain safely unapplied on the client profile until manual reconciliation takes place.
- Prompt on Save (Default Setting): Dynamically flags matching credit options at the exact moment of initial document validation.
- Dynamic Save-Time Modals: When your operational workflow is set to Prompt on Save, creating and saving a brand new Sales Invoice for a customer with open cash balances triggers an interactive modal prompt: "This customer has $X.XX in unapplied credits. Would you like to apply them to this invoice?". Users can choose to instantly Apply credits, Leave unapplied, or Cancel save.
- Real-Time UI Indicator Banners: To ensure visible credits are never overlooked, clear text banners display directly on the Sales Invoice form interface:
- Displays Available to apply: $X.XX if matching overpayments are open but unlinked.
- Displays $X.XX Applied if credits have successfully bonded to the active document balance.
- Uniform Data Import Integration: Invoices introduced into the application via the Data Import Wizard will systematically follow the active global default option selected inside your Sales Settings, preventing unlinked cash allocations from occurring silently during batch operations.
How It Helps
- Eliminates Manual Rework: Staff members no longer have to waste billable hours reverse-engineering automated credit settlements, resetting invoice lines, or clearing unintended data pairings manually.
- Maintains Strategic Billing Intent: Accounts Receivable teams can now cleanly enforce distinct payment terms for individual contracts or internet sales accounts without background allocations clouding specialized ledger metrics.
- Maintains Flawless Audit Trails: When a credit option is executed via the save prompt or autofill matrix, the background engine automatically spawns a dedicated Apply Customer Credit sub-document as a child record cleanly linked directly to the parent invoice, preserving bulletproof trace accounting.
Lists
Payment Terms: Discount Percentage Validation Restrictions
We have implemented an essential data validation block within the Payment Terms catalog setup. Previously, a system design vulnerability allowed users to create early-payment discount terms exceeding 100% (e.g., entering 120% or 150%) without triggering an error restriction.
When such terms were subsequently pulled into a transaction—like a Cash Receipt—the background application engine calculated a discount value higher than the actual invoice balance itself. This logic loop generated skewed journal postings, artificially debiting the "Discounts and Allowances" ledger for more than the legal liability.
To enforce proper business parameters, the catalog data structure has been capped.
How It Works
The validation logic on the Payment Terms interface has been fortified with immediate input sanitization controls:
- Strict Upper Bound Ceiling: The underlying database variable for DiscountPercent has been hard-coded to a maximum allowable constraint value of 100%.
- Real-Time Input Sanitization: If a user types or uses the calculator tool to input an invalid discount percentage value of $100.01% or higher, hitting Enter or attempting to save will instantly block the execution.
- Automated Value Restoration: Upon triggering the block, the system completely cancels the input, restores the field back to its previously saved legitimate percentage, and fires a dedicated pop-up error prompt: "Discount percent cannot exceed 100. Value will be restored."
How It Helps
- Protects Sub-Ledger Math: Hard-capping discount values eliminates the possibility of downstream transaction records calculating negative payment distributions or over-allocated credit reductions.
- Guarantees Accounting Accuracy: Restricting discount metrics ensures that your journal entries for automated invoice settlements remain strictly aligned with compliant business standards.
- Speeds Up Form Setup: Clear pop-up error notifications provide instant clarification to accounting operators during early-payment incentive definitions, preventing accidental typos from creating corrupted rules.
Documents
Closed Period Optimization: Manual Status Updates for Sales and Purchase Orders
We have enhanced the behavior of Sales Orders and Purchase Orders when users attempt to toggle document statuses (such as Open, Manually Closed, or Cancelled) within a past accounting period that has been officially closed.
Previously, changing an order's status automatically triggered a background save and background posting routine that bypassed the closed-period authorization prompt. This resulted in an unhelpful system-level error message at the bottom of the interface, forcing administrators to completely reopen the books just to cancel or modify order parameters. This release aligns status adjustment validations exactly with our standard document re-save mechanism.
How It Works
Status validation logic for purchase and sales orders now inherits the standardized warning control workflow:
- Standardized Warning Toggles: Changing document indicators inside a closed book interval now cleanly triggers the active "Closed period notification" dialog window.
- Override Confirmations: If a user possesses the necessary administrative data write authorizations, they can select "Yes" inside the modal prompt to successfully save and post the status adjustments without interrupting core platform configurations.
- Read-Only Lock Status: Orders toggled to Cancelled or Manually Closed correctly shift down into a safe, non-editable read-only configuration, preventing accidental ledger discrepancies.
How It Helps
- Preserves Book Closures: System administrators no longer face the disruptive administrative task of temporarily shifting back fiscal closure dates just to complete order status edits.
- Eliminates Processing Blocks: Resolves a major operational issue where background posting procedures (OrderClosing background commands) failed to execute because they were missing implicit permission parameters.
- Unified Workspace Behavior: Brings consistency across different document menus by matching the user experience of Sales Orders and Purchase Orders with our existing Sales Quotes setup.
Sales Invoice: Validation and Sign Auto-Correction for Negative Discounts
We have implemented a vital data integrity fix in the Sales Invoice module to resolve a logic vulnerability where entering a negative value in a discount field inadvertently acted as a price surcharge.
Previously, when a user typed a negative percentage or flat dollar amount (e.g., -5% or -$50.00) into either the global header discount box or individual line-item rows, the system would process the negative sign directly into the document's pricing matrix. This behavior bypassed financial validations and artificially inflated the invoice's final calculation total instead of reducing it. This design flaw risked miscalculating customer statements and skewing transaction ledgers.
To prevent these operational errors, the data capture architecture has been redesigned to sanitize and validate input metrics automatically.
How It Works
When the configuration toggle "Allow discounts on line items" is activated inside your system preferences, input values undergo strict conditional checking:
- Automated Sign Inversion: If a user types a negative discount parameter in either the global document header or a specific transaction line, hitting Enter or saving the document triggers an auto-correction script. The application instantly flips the mathematical sign from a negative to a positive integer (e.g., transforming -50.00% directly into 50.00%).
- Dynamic Recalculation: Immediately following the sign inversion, the row formulas recompile the subtotal fields, subtracting the discount from the gross asset lines correctly.
- Calculation Consistency: For example, a quantity of 10 items priced at $5 each generates a $50 subtotal. Entering a value of -5% will now automatically save as 5%, adjusting the total due down to exactly $47.50 rather than scaling it up to $52.50.
How It Helps
- Protects Accounting Integrity: Auto-correcting negative parameters safeguards your financial reports from carrying unintentional hidden revenues or irregular transaction balances.
- Standardizes System Behavior: This patch aligns data fields directly with true operational intent: discount fields are locked strictly to price reductions. Extra fees or processing surcharges must be added intentionally as distinct line items.
- Improves Fast Data Entry: Staff members who mistakenly include a negative dash while copying over external contract values or processing swift adjustments are protected by immediate field correction.
Sales Invoice: Structural Editing Restrictions for Paid and Voided Invoices
We have implemented strict system validations to resolve an editing vulnerability in the Sales Invoice module. Previously, invoices that were fully paid or canceled (voided) remained open to manual alterations. Users could inadvertently modify line items, append new products, or adjust financial entries on voided sheets without triggering data blocks or receiving input warnings. This compromised historical traceability and risked skewing reporting figures.
With this update, the application introduces responsive user interface locks that freeze an invoice based on its financial status.
How It Works
The document form logic now dynamically evaluates linked transaction states to establish immediate read-only controls:
- Paid Invoice Safeguards: When an invoice is tied to an active payment (such as a posted Cash Receipt), editing controls lock automatically. A prominent banner appears in the header warning: "This Invoice is paid. To make changes, you must first void the associated payments".
- Cascading Read-Only Field Restrictions: While an invoice is flagged as paid or voided, the layout locks the following modules from user interaction:
- All inventory parts, item descriptions, and item grid quantities.
- Global header elements (such as customer matching fields and overall total-affecting variables).
- Footer discount rates, shipping costs, and the Sales Tax parameters tab.
- Grayed-Out Void Protections: To maintain consistent sequential validation, the command function "Void the Invoice" is completely grayed out and disabled for paid records. Users must actively cancel the matching Cash Receipt first before the invoice can be voided.
- Flexible Field Exclusion: Secondary tracking fields that do not alter tax bases, item counts, or total customer balances remain available for administrative mapping.
How It Helps
- Prevents Financial Discrepancies: Freezing lines ensures that transactions with clear audit paths cannot be edited by accident, protecting your core ledger.
- Enforces Clean Reconciliations: Restricting structural edits on settled documents ensures that accounts receivable balances match customer payments flawlessly without silent data drift.
- Standardized System Behavior: This update coordinates code rules across overlapping features, seamlessly integrating with changes implemented for paid asset editing.
Sales Order: Data Locking and Validation Controls for Shipped Orders
We have implemented strict structural validation and user interface data freezes on Sales Orders that have achieved a status of "Shipped" or "Partially Shipped".
Previously, a critical system logic vulnerability allowed users to freely alter, remove, or completely recalculate document totals and discount values (within both individual item line rows and global footer elements) even after physical inventory shipments had been officially posted and completed against that order. This behavior triggered no database error validation screens, leading to systemic data mismatches between the primary sales order balances and downstream shipment ledger rows.
To eliminate this data risk and protect your baseline financial records, the application now permanently locks the data structure of an order once shipment execution has occurred.
How It Works
The document form parameters for Sales Orders have been reinforced to enforce programmatic read-only locks:
- Systemic Line-Grid Lockout: Once an order changes to a status of "Shipped" or "Partially Shipped", the application instantly restricts modifications across the core line item grid. All data rows including Item selection, Quantity fields, Unit Pricing, Line-Item Discounts, and Tax Codes transition automatically into a non-editable, read-only configuration.
- Real-Time Validation Safeguards: If an integration command or an edge-case configuration attempts to force a change onto a shipped order's discount value or calculation type, the system rejects the input. It completely rolls back the entry to its previous value, leaves totals un-recalculated, and flashes descriptive validation warnings in the message panel:
- "Discount percent cannot be changed, because the Order has been shipped."
- "Discount type cannot be changed, because the Order has been shipped."
- Standardized In-App Workflow Routing: To change pricing or apply retroactive allowances after an inventory shipment has been dispatched, operators must select from the following authorized accounting options:
- Adjust parameters directly on the unposted Sales Invoice before sending it to the client.
- Generate an explicit, separate Credit Memo to cleanly trace and track the credit adjustment.
- If an explicit order edit is mandated, an authorized manager must completely Unship the fulfillment record, modify the open Sales Order, and then Reship the log.
How It Helps
- Secures Revenue Integrity: Locking calculations prevents warehouse personnel or accounting clerks from accidentally altering historical contract numbers that have already physically moved out of delivery bays.
- Eliminates Ledger Variance: Restricting late changes guarantees that your upstream sales order contracts remain in absolute alignment with your inventory allocations and shipment summary logs.
- Establishes Clear Process Paths: Forcing price adjustments into Credit Memos or Invoice screens ensures your internal team members abide by clear, standardized accounting and audit compliance strategies.
Assembly Builds FIFO Costing Engine Calculation Fix
- Disassembly Handling & Error Validation
- Edge-Case Fix: A crash issue ("Cannot convert value to Numeric") was discovered and fixed when posting a Disassembly document dated prior to an inventory adjustment on a zero-quantity layer.
- Clean Error Messaging: Rather than throwing a technical processing exception, the system now properly validates stock chronology and displays a clear error message (e.g., "There is an insufficient balance of [X] at [Location] on [Date]. Failed to post Disassembly...").
- Multi-Item Assembly & Disassembly BOM Support
- Expanded BOM Testing: The costing engine logic was updated and verified to ensure that when an assembly (or disassembly) contains multiple component items, the 50/50 (or proportional BOM ratio) cost allocation split remains accurate across all active materials.
Time Tracking
Revert Negative Value Restrictions in Time Tracking Fields
- Negative Time Entries are allowed/returned to the software for both Single and Multi-Entry.
We have significantly expanded our manufacturing and fulfillment print forms to support multi-level deep sub-assembly structures. Previously, when generating printouts, the system was capped at single-level component mapping. If a raw material item was itself a sub-assembly comprised of nested, multi-tier component recipes, secondary and tertiary branches would remain hidden on the final page layout.
This update introduces recursive expansion logic to automatically unroll and print multiple embedded tiers of sub-assemblies (e.g., Parent Item ➔ Sub-assembly Level 1 ➔ Sub-assembly Level 2 BOM) seamlessly down a single transaction sheet.
How It Works
The document processing engines have been rebuilt to standardize structural material breakouts:
- Reconfigured Setup Toggle: Under Admin Panel ➔ Print Form Settings, the configuration option for the Assembly List template has been precisely renamed to "Explode Sub-assemblies" (replacing the generic "Explode Assembly BOM" checkbox). This update accurately reflects its function, since top-level Bill of Materials lines already render on manufacturing records by default.
- Cross-Document Standardization: To maintain engineering symmetry across operational workflows, these multi-tier structural calculations simultaneously apply to both Assembly Build Print Sheets and standard Sales Invoice Templates.
- Consistent Decimal Precision: A structural layout bug has been resolved so that all deep-tier exploded material quantities strictly inherit and match the numerical formatting rules and decimal precision configurations of parent lines.
- Continuous Data Retention: Inherited fields such as Location and Qty Needed map and print continuously across cascading component branches rather than leaving blank layout gaps during multi-level generation.
How It Helps
- Streamlines High-Volume Picking: Shop floor managers and assembly technicians can view a complete, expanded structural layout of all nested component requirements on a single pick sheet without needing to toggle through cross-referenced item screens.
- Optimizes Inventory Planning: Keeping Qty Needed vs. Qty On Hand decimal values cleanly aligned across all multi-level sub-components makes it simple to identify raw material deficits prior to starting a production run.
- Standardizes Billing Records: Sales Invoices containing multi-level manufactured items now show clear, formatted component breakdowns, ensuring transparent communications for complex client deliveries.
Bank Reconciliation
Standardized Page Setup and Print Settings
We have corrected an issue in the Bank Reconciliations module where clicking on "Print Settings" incorrectly surfaced check alignment parameters instead of standard document page options. This release replaces the legacy check printing menu overlay with a standard, fully enabled page layout setup window.
How It Works
The configuration properties for generating the Reconciliation Report print layout have been completely updated:
- Enabled Page Setup Button: The primary page configuration buttons on the print preview form—which were previously greyed out—are now fully unlocked and interactive.
- Standard Document Formatting: When launching the print preview from either the Reconciliation List or a specific Reconciliation form, clicking Page Setup opens standard document adjustments:
- Paper Size Selection: Adjust your layout across universal dimensions.
- Margin Parameters: Explicitly define independent layout boundaries for Left, Right, Top, and Bottom margins in inches.
- Page Mechanics: Configure horizontal and vertical Header/Footer spacing variables, paper orientation (Portrait or Landscape), and color scale options (Color vs. Black & White).
- Dynamic Scaling: Control multi-page layouts using custom percentages of normal size, Fit to Width, or Fit to Page variables.
Audit Log
Tracking for Merged Catalog Items
We have enhanced our system data tracking by introducing "Merged" user action logging within the Audit Log. Previously, when duplicate catalog records (such as duplicate Items or Companies) were consolidated using the administrative Merge Tool, the system simply tracked the removal of the secondary files as a basic "Deleted" action. This update guarantees that data combinations are explicitly explicitly recorded with a distinct history trace before deletion.
How It Works
The configuration underlying data tools has been expanded to preserve system change paths:
- Dedicated Log Entries: A new predefined action classification called "Merged" has been added to the system-level user event monitoring variables.
- Traceable Reference Notes: When duplicate items are consolidated, the system automatically writes an archive trace with detailed descriptions explaining exactly where the records went. The description log is saved using a standardized text structure: Merged into: [Target Record Info].
- Pre-Deletion Snapshots: The background application mapping components ensure this tracking trace entry is permanently committed to your ledger records immediately prior to clearing out the secondary entries.
How It Helps
- Trace Historical Mappings: Internal administration and accounting staff will no longer lose visibility into where data vanished during cleaning sessions. You can filter changes by date or entity types to verify if missing records were manually scrubbed or consolidated.
- Provides Definitive Audit Trails: If a transaction history looks modified due to changes in linked item codes, auditing teams can check the target references to confirm data authenticity without parsing unlinked files.
- Maintains Stable System Indexes: Secondary references are tracked clearly while preserving data performance across your primary operations.
Cloud Payroll
Embedded Payroll + Gusto Integration: Optimized GL Account Mapping Screen Layout
We have redesigned the G/L Account Mapping screen layout within the Gusto Payroll Integration to address a critical scaling issue. Previously, when a company managed a massive volume of payroll settings (such as having 50+ tax configurations across multiple states), the configuration inputs would stretch and warp horizontally across the screen. This bleed-over effect distorted the scaling of all adjacent setup forms—including the Benefits, Salaries, and Deductions tabs—forcing excessive and awkward horizontal scrolling on large monitors.
How It Works
The mapping panel interface has been reorganized using structured grid containers:
- Three-Column Matrix Layout: The G/L mapping data fields are now organized cleanly across three distinct, balanced columns.
- Alphabetical Row Ordering: To make asset mapping faster, configuration options sort systematically in alphabetical order from left to right, and wrap down continuously from top to bottom.
- Responsive Vertical Scrolling: Instead of letting expanding fields stretch out past window bounds horizontally, the interface anchors to a standardized horizontal layout format matching the rest of the application. Large datasets are now handled using clean vertical scroll controls.
How It Helps
- Eliminates Screen Distortion: Standardizing input fields prevents large payroll matrices from bleeding over and corrupting the sizing parameters of other integration tabs.
- Improves Account Accessibility: On wide monitors, fields are no longer cut off on the left or stretched out to extreme margins on the right, keeping your chart of accounts readable and within view.
- Intuitive Navigation: Sorting complex state employer taxes (e.g., FUTA, Medicare, and varied SUI/SUTA premium lines) alphabetically within three structured fields minimizes human error when linking tax obligations to expense accounts.
Data Import Wizard
Data Import Wizard: Zero-Quantity Assembly Component Validation
We have added a strict validation layer to the Data Import Tool specifically for handling Assembly Builds. Previously, the system would silently accept imported manufacturing or assembly files that contained component items with a quantity of zero. Because an assembly cannot execute without valid component quantities downstream, these records caused workflow disruptions post-import.
The import process has been redesigned to catch these zero-quantity instances during staging validation and offer real-time resolution options.
How It Works
When you process data using the Data Import Wizard, the tool now checks the component lines of your assembly builds:
- Staging Error Flagging: Any imported Assembly Build containing components with a quantity of zero is flagged with a staging error. The side panel will display the warning: Line #[X]: please adjust zero quantity.
- Resolution Hyperlinks: To eliminate manual cleanup of text or spreadsheet data, the error interface in the side panel includes two actionable options:
- Remove Zero-Quantity Lines: Clicking this link automatically strips all zero-value component lines from the staging record, instantly clearing the error state so you can commit the clean record.
- Import As-Is: Clicking this option bypasses the safety error block, clearing the flag and allowing you to force-import the Assembly Build exactly as structured in the source document.
- Manual Editing Option: Users can still double-click the staging record card to open the document and manually adjust the quantities to a valid non-zero number before saving and pushing to production.
How It Helps
- Reduces Post-Import Cleanup: Users who maintain legacy or inactive inventory items with zeroed out rows in their Excel source files can now drop those lines automatically during staging.
- Guarantees Production Readiness: Enforcing component quantity checks at the import stage guarantees that every active Assembly Build created in the system can be executed immediately without manufacturing delays.
- Protects Workflow Integrity: Restricting incomplete builds prevents broken lines and data mismatches from leaking into your core inventory and production sub-ledgers.