Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Customizations for developers. See Low Code | No Code Forum for non-technical discussions
Recently active
I’m running into a strange issue where I have a customization project targeting PO screens with multiple purposes - some validations to prevent certain combinations of projects and subaccounts, and another to unlock certain fields like descriptions and such while the po is in pending approval status. When I publish this project on my local dev environment, all works great (no other customization projects installed). When I publish this exact same project on a client’s cloud environment, the validations work but the field unlocking under pending approval status does not. Both environment have exactly the same version and patch deployed (2026R1 Patch1). I’ve unpublished all other customizations and only published this project in both environments, and the same happens. In the dev environment, everything works as expected in both classic UI and modern UI. In the cloud environment it does not work in either. This customization used to work in 2025R1 on the cloud environment, but stopped wo
Anyone have any idea why my GI filters changed after upgrading to 26R1?Were there any steps I should have taken before or after the upgrade? What can we do to prevent this from happening in the client’s system?If it does happen, how can we fix it?
I am trying to release some Project Transactions and I am getting an error message that simply says, Object reference not set to an instance of an object. How can I determine what this error is if this is all it gives me. Anyone have any direction on where to find more information? These transactions and details are created using the API. Mike Bujak
I’m getting a build error in the UpdateExpirationDate() function: public class KBCCProcessingCenterMaintExt : PXGraphExtension<CCProcessingCenterMaint> { [PXOverride] public PXAction<CCProcessingCenter> updateExpirationDate; public static bool IsActive() => PXAccess.FeatureInstalled<PX.Objects.CS.FeaturesSet.integratedCardProcessing>(); [PXUIField(DisplayName = "Update Expiration Dates", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)] [PXButton] public virtual IEnumerable UpdateExpirationDate(PXAdapter adapter) { if (Base.ProcessingCenter.Current != null && Base.ProcessingCenter.Current.ProcessingTypeName == typeof(KBTokenizedProcessing).FullName) { throw new PXException(KBMessages.FeatNotSupported); } return Base.UpdateExpirationDate(adapter); }The error is: 'CCProcessingCenterMaint' does not contain a defi
I have an issue where clicking grid toolbar buttons (such as Add, Reload, or Delete) causes the page to scroll back to the top.On my screen, I have several panels located toward the bottom, each containing grids. When I interact with the toolbar buttons in these lower grids, the page unexpectedly jumps to the top instead of staying in place.Has anyone encountered this behavior or knows how to prevent the page from scrolling to the top?
Hi TeamIn the Sales Order screen, I have an action button with a refresh Icon and tooltip next to the Cost field in the Classic UI.How can we Convert this to Modern UI?
Have you ever needed to display additional information below an Acumatica grid—for example, an availability message, status, instructions, totals, or other contextual information?There are different approaches depending on whether the screen is using Classic UI or Modern UI.Classic UI – Using StatusFieldIn Classic UI, Acumatica's PXGrid supports the StatusField property.The general approach is:Add a PXString field to the DAC used by the grid. Set the grid's StatusField property to that field. Populate the field using a FieldSelecting event.For example, suppose the grid is based on SOLine and we want to display a custom message.1. Add a DAC extension fieldpublic sealed class SOLineExt : PXCacheExtension<SOLine>{ #region Availability [PXString(255)] [PXUIField(DisplayName = "Availability")] public string UsrAvailability { get; set; } public abstract class usrAvailability : PX.Data.BQL.BqlString.Field<usrAvailability> { } #endregion}2. Populate t
How to implement Drag & drop functionality on the grid ?
Hi TeamIn the Sales Order screen (SO301000), we have the Add Matrix Item popup, where the grid displays the quantity along with the UOM (for example, 10 EA).In the Classic UI, this UOM display was removed in the aspx.cs file using the existing SetUOMFormat logic.I’m trying to achieve the same behavior in the Modern UI. I found that the relevant logic appears to be in the SO301000_AddMatrixItems TypeScript file, specifically within matrix-grid-manager.However, I am unable to extend or override this file from the development folder.I’ve shared the relevant base code files below for reference.import { IGridColumn, handleEvent, CustomEventType, RowCssHandlerArgs, CellCssHandlerArgs, PXViewCollection, QpGridEventArgs,} from "client-controls";import { AddMatrixItemsBase, EntryMatrix } from "../../../IN/common/matrix-items/panel-add-matrix-items/panel-add-matrix-items";import { SO301000 } from "../SO301000";import { MatrixGridManager } from "./../../../IN/common/matrix-items/matrix-gr
EnvironmentFails on: Acumatica 2026 R1, build 26.100.0175 Works on: Acumatica 2025 R2, build 25.201.0213 ISV solution split into three customization packages, published in this order:Package Level FusionWMSBasic 99 FusionWMSAdvanced 100 FusionWMSOptimization 107 What happensOn a clean 2026 R1 instance (nothing published yet), uploading the FusionWMSOptimization package on the Customization Projects screen (SM204505) fails immediately with: Error during file upload: Object reference not set to an instance of an object.This happens at import time — the project is never even created, so we can't get to Publish.Workaround that works: publish Basic and Advanced first, and only then import Optimization. After that, the import succeeds normally.Stack traceThe browser only shows the message, but importing the exact same ZIP through POST /CustomizationApi/Import returns the full trace: System.NullReferenceException: Object reference not set to an instance of an object. at Customiz
I’ve converted a custom screen with a couple of grids. There is a parent-detail relationship with the grid.I have an action button that will print a report and the underlying code will pass values from the current highlighted detail line grid.In Classic UI it works. In Modern UI it doesn’t.The action code is as follows:public PXAction<NLABCBulkHeader> PrintSerialReport;[PXButton(CommitChanges = true)][PXUIField(DisplayName = "Packing List", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)]public virtual IEnumerable printSerialReport(PXAdapter adapter){ NLABCBulkHeader row = this.Header.Current; NLABCBulkDetail line = this.Details.Current; PXBaseRedirectException.WindowMode windowMode = PXBaseRedirectException.WindowMode.NewWindow; Dictionary<string, string> parameters = new Dictionary<string, string>(); parameters["OrderNbr"] = row.OrderNbr; parameters["FromPallet"] = line.PalletNumber; parameters["ToPallet"] = line.PalletNumber; v
Hi, I’m working with a PXSmartPanel containing two grids. And i have condition that whenever Qty is less or equal to zero or serial/lot nbr isnt filled in when needed, then the dialog shouldnt close, ok button become disabled so user can fill the necessary fields and only then then button can be enabled. The button only becomes disabled when some of the fields with CommitChanges=true are updated. And if i hit the button at first when its still enabled, an error/exception occurs:Here’s the button: <px:PXPanel ID="PanelPromptSummaryBtn" runat="server" SkinID="Buttons"> <px:PXButton ID="PromptSummaryOk" runat="server" Text="OK" CommandSourceID="ds" DialogResult="OK" CommandName="promptSummaryOk"> </px:PXButton> protected virtual void _(Events.RowSelected<TPrimary> e){ TPrimary row = e.Row; bool validationResult = PromptValidateData(); PromptSummaryOk.SetEnabled(validationResult);}and also protected virtual void _(Events.RowSelected<EPTi
The only way I can get the changes to the MUI screen is to modify the files in the development section in VS, then update the MUI files in the project editor and publish the project.I thought I could update the MUI screen by executing this statement in Terminal, but it doesn’t make the changes:If this worked, it would save me hours in testing. Publishing the entire project takes forever compared to running the command line to build the screen.Also, my popup wasn’t showing the fields. I published, restarted the app, reset caches, MANY times. I kept changing the TS and HTML, but the fields were not showing. Suddenly, they are showing. I literally spent 5 hours trying things, republishing resetting everything and it didn’t show the fields. Is there some steps I am not taking after publishing the project to get the MUI code to display properly? I’ve been losing my mind over this.
Hello, currently I’m using Acumatica 2026 R1. I’m running into an issue after Convert to Modern UI for screen IN304000. Steps to reproduce : Open screen IN304000 Convert to Modern UI (generates IN304000.html, IN304000.ts and views.ts) Opens a project in Customizations Project Add Modern UI Files → Select IN304000.html, IN304000.ts and views.ts Publish projectAfter publish, I encounter error log like this : [2026-08-14 06:41:23.069] npm run build failed with output:> screen@0.1.0 build> cross-env node --max_old_space_size=6144 --optimize_for_size --stack_size=6144 --trace-warnings ../node_modules/webpack/bin/webpack -- --env production --env tenant=Company screenIds=AR303000,CZ102000,IN304000,SO301000,SO503000ts-loader: Using ts-patch/compiler@5.5.2. This version may or may not be compatible with ts-loader.More build info can be found in logs:D:\IHSG2024\NodeTemp\IHSGDB\_acu_build-tools-106352351393400.logD:\IHSG2024\NodeTemp\IHSGDB\_acu_transformers-106352482563700.log[1m[31mERRO
Hi Team,When we select InventoryID in Sales Order screen, it should show Popup of InventoryItem “Add Pop-up Notes”. When we create Sales Order via Processing screen, it throws error.How to avoid this popup trigger while creating Sales Order via code? This is the code piece triggering for Popupprotected void _(Events.FieldUpdated<SOLine, SOLine.inventoryID> e, PXFieldUpdated baseHandler){ baseHandler?.Invoke(e.Cache, e.Args); if (!Base.IsContractBasedAPI) { SOLine line = e.Row as SOLine; if (line?.InventoryID == null) return; InventoryItem inventory = InventoryItem.PK.Find(Base, line.InventoryID); if (inventory == null) return; string note = PXNoteAttribute.GetPopupNote(Base.Caches[typeof(InventoryItem)], inventory); if (!string.IsNullOrEmpty(note)) { _inventoryNoteText = note; _askInventoryNote = true; } }} Thank you
I'd like to know why I'm getting this error, since I've only run the following commands:*npm run getmodules*npm run build-devand when I tried to compile my screen with the following command:npm run build-dev --- --env customFolder=development screenIds=AR303020, it showed an error in the tsconfig.json file.Can you guide me on how to fix this? Thanks in advance. This is my version of ts
Hello Everyone, I recently stumbled onto the requirement of injecting current user data into HTML to render it as an iframe within the Modern UI. It took me a while (and some AI assistance) to get there so I thought I would share the approach I took. Firstly, in the Classic UI, you can do this via the PageLoad event in the .aspx.cs file. The easiest way that I found with the Modern UI was to have a custom .ashx IHttpHandler in /Frames and which is called via fetch() within the activate() method that Aurelia uses. TS:export class CO301000 extends PXScreen { MasterView = createSingle(MasterViewClass); iframeSrc: string = "about:blank"; async activate(): Promise<void> { const app = window.location.pathname.split("/").filter(Boolean)[0]; const siteRoot = window.location.origin + (app ? "/" + app : ""); const userUrl = siteRoot + "/Frames/User.ashx"; try { const res = await fetch(userUrl); const [username] = await res.text(); if (!username) { console.error("Username
Hi All, we have our inhouse application integrated via API to MYOB Acumatica where we create customer payment method and MYOB returns a GUID for each payment method. I am trying to find out is it possible to display this GUID in a GI screen with MYOB user interface all? If so, which table and column I need to integrate. Is this explained somewhere, appreciate the help in advance.
Hi Team,I have a requirement on the Cases screen where I added a custom Date field. I want to apply conditional formatting to this field:If the custom date is greater than the Reported Date, the field should appear Red. Else, it should be Green.The below JavaScript runs, but it always goes to the else condition and never enters the if.<script type="text/javascript"> function highlightWarrantyDate() { // Get values from fields by their IDs var reportedDateField = document.getElementById("ctl00_phF_form_t0_edReportedOnDateTime_text"); var warrantyDateField = document.getElementById("ctl00_phF_form_t0_NAWPREM03edUsrNAWPMWarrantyExpirationDate_text"); if (reportedDateField && warrantyDateField) { var reportedDate = new Date(reportedDateField.value); var warrantyDate = new Date(warrantyDateField.value); if (reportedDate > warrantyDate) { // Expired => Red background warrantyDa
I have tried all the possible ways to implement the Barcode or QR code it is working fine in Classic UI Modern UI Not-It is for Sales Order ScreenMy HTML code<template modify="#form-Order"> <field name="UsrQRCodeBase" unbound="" replace-content=""> <div class="v-stack col-12" style="align-items: center; justify-content: center; padding: 10px 0;"> <!-- Clean label element matching modern framework styling --> <qp-label caption="Scan to Capture" style="font-weight: 600; margin-bottom: 8px;"></qp-label> <!-- Standard HTML layout image container that natively decodes the Base64 variable --> <img src="data:image/png;base64,{{Document.UsrQRCodeBase}}" alt="Sales Order QR Code" style="width: 160px; height: 160px; border: 1px solid var(--qp-border-color, #e0e0e0); border-radius: 4px; background-color: #ffffff; box-shadow: 0 1px 3px rgba(0,0,0,0.05);" /> &
What determines POOrder.Status transition to Closed on Subcontracts screen (SC301000), besides bill release amount? Is there a supported way to force-close based on ExpirationDate?"I’ve already tried create a GI + biz event + automation schedule and import scenarios but it didn’t work. Thanks This is what i setup in the import scenarios
I am trying to adjust a field so that the input is masked like a password field. I have it in my classic UI customization, but I am unable to find any resources for implementing this in the modern UI.The field in question is a base field on an Acumatica page. The field is the “Header Value” field in the “Push Notifications” page SM302000. I have two questions:The first is what and where do I add modifications to adjust this field to be masked as a password? Do I adjust the DAC definition for the modern UI, do I adjust the view definition of this field in an extension .ts file, and/or do I create an html extension field that modifies it?The second question is what would that syntax look like? What specifically do I need to add to create the password masking?I did try to look for examples within the provided Acumatica code, but was unable to find any examples.
Can someone point me in the direction of adding a user defined field to the location tab of the customer form. I added a user defined field to the location form, but it is not available to add to the location grid on the customer form.
Currently, I’m using Acumatica 2026 R1. I’m adding a custom state in SO Shipments SO302000 (state name : Transferred) that is supposed to be processed through the UpdateIN action.What I did : Created a customization project with an extended workflow for SO302000 (inheriting the default workflow). Modify a transition from Confirmed with Triggered By Action = Update IN (updateIN), to target my state. (Replaced Completed with Transferred) Published the project.What happens : The action executes normally, but the shipment still ends up in Completed. My transition never fires.What I found in the source : UpdateInventoryExtension.UpdateIN fires, then runs the real work inside PXLongOperation.StartOperation on a new SOShipmentEntry instance. Inside PostShipment:using (PXTransactionScope ts = new PXTransactionScope()){ SetSuppressWorkflowOnUpdateIN(); foreach (var args in GetPostShipmentArgs(shiporder, docgraph, list)) { PostShipment(args); } ts.Complete();}and inside PostShipment(PostShipmen
I am working on the Calendar Board (FS300300) Classic UI screen in Acumatica 24R2.This screen seems to be different from other screens because it does not support customization through Graph or DAC extensions, and the behavior of the screen is controlled mainly by the following page files: FS300300.aspx FS300300.aspx.cs These files are part of the website source, and they are not compiled into the customization DLL. Because of this, when changes are made in these files, they work locally in the website, but they are not included in the customization package, and we cannot deploy them to another instance.Also, this screen does not appear to have a Graph that can be extended, so the usual approach using Graph/DAC extensions cannot be used here.I would like to know the correct and supported approach for this scenario.Questions: Is there a supported way to include FS300300.aspx / FS300300.aspx.cs changes in a customization package? Can these files be added to the Customization Project
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.