Invoicing & Financial
Invoicing & Financial - 18 items delivered in v1.8
What Was Delivered
-
Create Project Invoice - Attachment Glitch
-
Add Sam Shihata to Invoice manager's list so that he can manage invoices.
-
Invoice updatedAt and createdAt dates are appearing in UTC0 timestamp. Invoice date are appearing in UTC0 timestamp. Make this into AEST instead.
-
Invoice date are appearing in UTC0 timestamp.
-
On Invoice Crud, update the summary figures at the top of the datagrid to display a summary within the current Financial year (01 / 07 / YY - 30 / 06 / YY+1)
-
On Invoice Crud, update the summary figures at the top of the datagrid to display a summary within the current Financial year (01 / 07 / YY - 30 / 06 / YY+1)
-
This means that it will summarise the current months Financial year.
-
MYOB Session Management Enhancement Enhanced MYOB integration to ensure reliable authentication by implementing automatic login attempts for each invoice processing operation. This prevents session timeout issues and ensures consistent connectivity to MYOB Advanced API. The system now performs a fresh login for each invoice to maintain session integrity and reduce authentication-related failures.
-
Blank Invoice Detection & Specialized Controller Created a dedicated ProjectInvoiceBlankCrudController that specifically filters and manages invoices that were processed by MYOB but returned with empty reference numbers (blank invoices). These are invoices that were silently rejected by MYOB. The system includes custom filtering to show only invoices processed after May 2025 that have blank MYOB reference numbers, with specialized actions for handling these edge cases.
-
Invoice Activity Logging System (ProjectInvoiceNote) Built a comprehensive activity logging system that tracks all invoice lifecycle events. Created ProjectInvoiceNote entity and ProjectInvoiceNoteService to log invoice creation events, MYOB processing attempts (success/failure), manual processing actions with reasons, cost recalculations, archive/unarchive actions, reprocessing attempts, and state changes with before/after values. Each log entry includes timestamps, user identification, and detailed metadata for full audit capability.
-
Smart Invoice Status Badges & Visual Indicators Implemented an intelligent status badge system that provides clear visual indicators for invoice states: MANUAL badge (green) for manually processed invoices with reason tooltips, ERROR badge (red) for invoices with processing errors, PENDING badge (gray) for invoices awaiting processing, BLANK badge (yellow) for MYOB silent rejections, and Success badges (green) for properly processed invoices with MYOB reference numbers. All badges include hover tooltips with detailed status information and processing dates.
-
Invoice Reprocessing & Error Recovery Built a robust reprocessing system that allows users to retry failed or blank invoices. Features include automatic state reset (clears errors, resets processing flags), prevention of reprocessing already-synced invoices, comprehensive error handling and logging, activity trail for all reprocessing attempts, and integration with the enhanced InvoiceProcessor for reliable retry logic.
-
Invoice Archive Management (ProjectInvoiceArchivedCrudController) Created a specialized archive controller that manages archived invoices with enhanced access control. Features include restricted access to authorized users only, separate view for archived invoices, archive/unarchive functionality with activity logging, custom filtering and display for archived invoice management, and integration with the manual processing workflow for archived items.
-
Enhanced MYOB Error Handling & Logging Improved the InvoiceProcessor with comprehensive error handling including detailed error logging with stack traces, request/response payload storage for debugging, automatic session management (login/logout per invoice), validation of MYOB customer IDs before processing, enhanced attachment processing with error recovery, and integration with the activity logging system for all MYOB interactions.
-
Enhanced Invoice Export with Totals Enhanced the invoice export functionality to include automatic totals calculation (cost, GST, grand total), totals row appended to exported data, proper money formatting in exports, HTML entity decoding for clean export data, and support for filtered export (maintains current view filters).
-
Instant MYOB Sync API Endpoint Created a direct API endpoint that provides immediate MYOB synchronization with configurable batch processing (default 10 invoices), real-time processing instead of queue-based, success/failure flash messages, proper redirect handling back to originating page, and integration with the enhanced InvoiceProcessor for reliable processing.
-
Invoice Entity Enhancements & Data Model Extended the ProjectInvoice entity with new fields and relationships including manual processing flags (isManuallyProcessed, manuallyProcessedReason), enhanced error tracking (errorTrace, requestPayload), archive management (isArchived), activity logging relationship (invoiceNotes collection), and improved data validation and state management methods.
-
On Invoice Crud, update the summary figures at the top of the datagrid to display a summary within the current Financial year (01 / 07 / YY - 30 / 06 / YY+1)
-
Invoicing enhancement: when 'Building Services' is selected In the invoicing section, when 'Building Services' is selected, only building services should appear. When 'Disbursements' is selected, only disbursement items should be shown for the inventory line. This avoids any confusion of items selected. Please review and confirm that this can be completed.
Create a new Class called ItemClass and give it a ManyToOne relationship with ProjectInvoiceLineItem. Given that the Subject is selected prior to adding line items, create a javascript event that detects the Subject of the invoice as the sub form for adding a projectServiceLineItem and update the data in the dropdown to only display elements that match the subject.
- Invoicing enhancement: when 'Building Services' is selected
Impact
Enhanced invoicing accuracy and financial workflow reliability, reducing billing discrepancies.