2026.2 Build 0000 (10/09/2026)
- ERP health sweep cut from three round trips per tenant to one.
- Overrunning batch jobs no longer stack, and the ERP handshake is bounded by a timeout.
- A skipped run is recorded as deleted rather than failed; ERP status reloads in the UI.
2026.1 Build 0005 (24/08/2026)
- ERP health monitoring: per-tenant SmartERP health tracking; a SmartERP state shown under the account status in the customer list (translated, with a tooltip giving the customer's version and what to do about each state); a SmartERP status filter; and AcSmartERPHealthLog cleared after three days. Health-tracking failures no longer fail the request that observed them.
- Resilience: e-invoice submissions queued when a tenant's ERP is unavailable, including when the ERP dies between the status check and the data fetch, and when the location is absent.
- Unreadable receipt QR rejected instead of crashing; special characters in ERP item descriptions handled; alert e-mail moved from Postmark to SMTP; merchant info on the error page.
- Startup cost: the report designer is no longer shipped on every app start - it is warmed while the customer list is read and for anyone who can reach Report Settings.
2026.1 Build 0004 (13/08/2026)
- Switched to e-invoice version 1.1; supplier info error fixed.
2026.1 Build 0003 (15/07/2026)
- Customer filter search on the Transactions tab; unit price of 0 allowed; submissions older than 3 days unblocked.
2026.1 Build 0001 (21/04/2026)
- "Not Applicable" state blocked when the country is MYS; state marked mandatory.
2026.1 Build 0000 (31/03/2026)
- Fixed third-party e-invoices unable to submit.
2025.4 Build 0003 (11/03/2026)
- DynaMod status checked at submit time; accepted status added to the status check; 7-day option removed from the e-invoice cut-off day; staging no longer e-mails dealers.
2025.4 Build 0002 (02/03/2026)
- Dealer notified by e-mail on ERP errors and SEP reports; SEP status compared against DynaMod status; buyer details added to the ERP UpdateEinvoiceSubmissionData API; GetDocumentDetails messages surfaced.
2025.4 Build 0001 (02/01/2026)
- Fixed a missing record hanging the queue process.
2025.4 Build 0000 (18/12/2025)
- Apostrophes in input no longer break SQL; error codes and country naming corrected; MSIC 56101 added; "Document" renamed to "Transaction".
2025.3 Build 0005 (29/11/2025)
- Fixed "pending synchronization" failing to load.
2025.3 Build 0004 (20/11/2025)
- Full country list with dependent country and state dropdown logic; Safari page-scroll and dialog fixes; numeric-only validation dropped for non-Malaysian entries.
2025.3 Build 0003 (06/11/2025)
- Error codes surfaced on the submission page; tax code E submissions unblocked; item quantity changed to decimal; Singapore added; consolidated-invoice fixes.
2025.3 Build 0002 (22/10/2025)
- ERP-connection e-mail alert (with company name) and its script; Peppol taxpayer details now updatable after onboarding.
2025.3 Build 0001 (26/09/2025)
- Company info in the static QR; API log filter; discount and prepayment amounts in the report format; EInvoiceDocumentType filter on GetIncomingInvoice.
- Peppol SubmissionCallback fixed and TaxpayerOnboard enhanced; document numbers trimmed across all APIs.
2025.3 Build 0000 (28/08/2025)
- Peppol: new AcPeppol* tables and the first Peppol API surface - InvoiceSubmission, SubmissionCallback, TaxpayerOnboard, UpdateTaxpayerDetails, GetIncomingInvoice, IncomingInvoiceCallback, IncomingInvoiceRequery, InvoiceRequery, GetPeppolId - plus response-code handling and setup scripts.
- Soft certificates: dedicated soft-cert table and upload UI, replacing certificates on the LHDN store.
- Schedule transactions run every 2 hours daily; error message shown on hover over the process dot; buyer information added to the client Excel; new country codes.
2025.2 Build 0002 (21/07/2025)
- Cancellation of e-invoices handled inside the schedule-transaction process; LastUsedDateTime on the LHDN store; LHDN login token method reworked.
- Personal submissions no longer ask for TIN, company submissions no longer ask for SST; default country and state handling; super-admin role removed from role and user pickers; QR scan no longer overwrites scheduled-transaction data.
2025.2 Build 0001 (08/07/2025)
- Duplicate alert e-mails stopped; customer info refreshed from DynaMod; missing item tax amount in the external API; items missing for third-party tenants and in the report.
2025.2 Build 0000 (30/02/2025)
- TIN validated at submission time; guard against concurrent user create/update; user page loading all users; scheduled-transaction date filter fix; async result handling throughout.
2025.1 Build 0003 (05/06/2025)
- Consolidated e-invoice generation reworked (unit price fix, download after validation, longer access-token life); DynaMod configuration page now shows customer ID and private key.
- iPhone alert for Taxpayer QR; assorted certificate, delete-customer and theme fixes.
2025.1 Build 0002 (22/05/2025)
- Taxpayer QR scan function; consolidated e-invoice cancel API and cancel/regenerate status fixes; Postmark setup for consolidated alerts.
- Token cache keyed correctly when the TIN changes; URL path format standardized; ClearSystemLog trimmed to reduce data size.
2025.1 Build 0001 (22/04/2025)
- EInvoiceService extracted; LHDN login reworked; new LHDN Setting page; per-tenant certificate handling for dynamic-QR submissions.
- Consolidated e-invoice table introduced; company profile and location ID synced to customers via new Hangfire tasks; DynaMod DatabaseName passed from ERP to SEP.
- Database standardization: renamed columns, column lengths, GUID max length 50, unused columns dropped; cron jobs to purge completed schedule transactions.
- Many schedule-transaction fixes (rejected status, same-day resubmission, retry limits, filters) and better LHDN error messages, including "too many requests".
2025.1 Build 0000 (28/02/2025)
- Report customization: report page and customer-configurable report format, new defaults.
- Submit page made dynamic (title, registration-number label), TIN mandatory, v1 and v2 layouts.
- Fixes: sole-proprietor TIN failing LHDN token retrieval; documents validated in DynaMod not syncing back to SEP; stuck "In Progress" status; third-party date-time errors; external QR scan.
- Removed auto-rounding on internal submissions (online orders already round, so the amounts did not tally).
2024.4 Build 0002 (04/01/2025)
- Bill amount auto round-up in generated URLs; submission allowed into the queue when the LHDN token call fails.
- Position-number support in the APIs; exception logging and a ClearSystemLog Hangfire job.
- Fixes: SEP registration accepting a customer e-mail; wrong data-sync date and wrong info on Schedule Transaction; non-UTC submission dates; static submissions unable to resubmit after a failed validation.
2024.4 Build 0001 (23/12/2024)
- Schedule Transaction page for queued submissions (split from Active Transactions).
- Fixed failed LHDN calls not resetting queue status, and queue resetting to the wrong status.
- Fixed the verify page reporting success on an invalid URL.
2024.4 Build 0000 (16/12/2024)
- Submission queue: queue service with batching (under 100 records counts as one batch), status tracking, automatic revert on error, and reset of failed records.
- Customer settings: per-customer company setting page; logo, T&C and privacy upload to Azure Blob (with delete plus a Hangfire cleanup of unused files); theme and language pushed to the customer's submit site; report format table.
- Internal QR: internal QR generation API with its own permission, locationid and billamount parameters, and validation on generated URLs.
- Security: encryption of sensitive data, private key and data-sync-time configuration.
- Alerts: SendEmailAlertService and an e-mail-alert setting per tenant; new Postmark templates.
- External submission moved to v2; static submission page added; many resource and validation fixes.
2024.3 Build 0000 (23/04/2024)
What the buyer can do
- Scan the QR code on the receipt, or open the link the merchant gives them, and land on the merchant's own e-invoice request page.
- Fill in their own details - name, TIN, business registration number, identity number, SST number, address, contact - as an individual or as a company, local or foreign.
- Get told immediately if something is wrong or missing, before the invoice is sent, with the message shown in English, Chinese or Malay.
- Watch the progress on screen while the invoice is sent to LHDN, and see straight away whether LHDN accepted or rejected it.
- View the approved e-invoice with its LHDN QR code, download it as a PDF, or have it e-mailed to themselves.
- Do all of this from a phone; the page works on mobile and in Safari.
What the merchant / customer can do
- Have the platform pick up completed bills from their SmartAcc / DynaMod system automatically, so nothing is re-typed.
- Set a cut-off date, so buyers can only request an e-invoice within the allowed period after the sale.
- See every submission in a Transactions list, with search by date and by status, and see exactly why a rejected invoice failed.
- Open any submitted e-invoice, view it, print or download it as a PDF, and re-send it to the buyer by e-mail.
- Upload their LHDN digital certificate and enter their LHDN credentials once, then let the platform sign and submit on their behalf.
- Test the sandbox first and switch to live when ready.
What the dealer can do
- Register a new merchant onto the platform, either from the ERP or directly.
- Manage their own list of merchants, view each merchant's settings and transactions, and get an e-mail when a new one is set up.
What the administrator can do
- Create companies (tenants) and decide whether each one is a dealer or an end merchant.
- Create users, assign roles, and control exactly which pages and actions each role can reach; create API-only accounts for system-to-system use.
- Configure the LHDN connection and the e-mail sending settings from setup pages instead of asking IT to change anything.
- Review an activity log of who changed what, and a log of every call in and out of the platform, for tracing a disputed submission.
Working across the whole platform
- Use the system in English, Chinese or Malay; each user's choice is remembered.
- Switch between light and dark appearance; the choice is remembered per user.
- Submissions that LHDN did not answer are retried automatically, and duplicate submissions of the same bill are blocked.
- Housekeeping runs on its own in the background - closing off open transactions and applying the cut-off date - with no manual step.
- A verification step on the public request page keeps automated abuse out.