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 have the following issue with Modern UI:In one package I create a column.In another package I add a field / logic that depends on that column.Everything works fine when I develop Modern UI in Visual Studio — after build, all changes are visible on the screen and work correctly.But when I add Modern UI files into packages and publish them in another instance of Acumatica ERP, I get errors (field/column not found).I understand that this approach is not recommended, but I still need to make it work.Is there any way to handle this scenario? [2026-03-26 14:54:27.199] 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=AR301000,AR303000,BZ101001,BZ101007,BZ201520,BZ401005,BZ401022,BZ501011,BZ501012,BZ501013,BZ501014,BZ501015,BZ501017,BZ501041,BZ501066,BZ501071,BZIMAGES,CR302000,IN202000,IN202500,IN2030
I am creating a purchase order approval workflow for a client. They previously used Purchase Requests with an approval workflow and are wanting to replace this with Purchase Order approvals.Their Request Approval Workflow conditions are based off Department and $ amount. Currently it is not possible to setup Purchase Order workflows in the same way, as the Department Entity is not available.Can we add the department field to the Purchase Order header and add the department entity to the Purchase Order workflow?Additionally we would probably get the Purchase Order department field to default to the PO Owner (employee’s) department but they could select any department, as it will not always be the same department as the user who is creating the PO.Has anyone implemented a customisation like this before?
Hello! The below code is running great in 25R1. It tells the system to look at the UsrQUOTECOST field on SOLine when create a PO through Create Purchase Order. If UsrQUOTECOST is empty, then system should behave the same, if user inputs value in UsrQUOTECOST, then when PO is created, the unit cost field should pull from this udf.The issue I am running into is that when I try to publish this code in a 25R2 tenant, I get the following error: The PX.Objects.PO.POLine FindOrCreatePOLine(PX.Objects.PO.POOrderEntry, PX.Objects.CS.DocumentList`1[PX.Objects.PO.POLine], System.String, PX.Objects.PO.POFixedDemand, SOLineSplit3, FindOrCreatePOLineDelegate) method in the PX.Objects.PO.POCreate_Extension graph extension is marked as [PXOverride], but no original method with this name has been found in PXGraph.And per the 25R2 developer release notes, looks like the FindOrCreatePOLine method was removed. Any ideas around what the alternative method would be to make this code work? Open to any sugges
Hi community,I am trying to apply custom styling (background-color and font-weight) to a custom action button on the Shipments (SO302000) screen header in the Modern UI.Here is my code for the Classic UI: #region Actions public PXAction<SOShipment> bZProcessShipment; [PXButton(Category = "Processing")] [PXUIField(DisplayName = "Process Shipment", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)] // Upgraded to Acumatica 2025 R2 by Biz_Vahe protected IEnumerable BZProcessShipment(PXAdapter adapter) { string shipmentNbr = Base.Document.Current?.ShipmentNbr; if (string.IsNullOrEmpty(shipmentNbr)) return adapter.Get(); var adapterCopy = adapter; Base.Save.Press(); PXLongOperation.StartOperation(this, () => { var shipmentGraph = PXGraph.CreateInstance<SOShipmentEntry>(); //PXGraph sourceGr
Hi Team,We have modified the Postal Code field using CacheAttached to make it a selector, and it is working fine in Classic UI.However, in Modern UI it is still behaving like a normal text field.In the TS file, I added:@controlConfig({ allowEdit: true })PostalCode: PXFieldState<PXFieldOptions.CommitChanges>;But the selector is not getting applied.Could someone help how to convert Modern UI to support selector fields?Classic UI Thanks In advance!
In my code below, the commented out loggedUserRow line uses an obsolete method. I tried to implement the ICurrentUserInformationProvider to get the User ID. When the code runs, the _currentUserInformationProvider variable is null. I’m not sure what I need to do to instantiate the variable. This is probably a c# thing. I tried a bunch of things not shown here, but I couldn’t figure out how to implement that interface. public ICurrentUserInformationProvider _currentUserInformationProvider { get; set; } #region Events protected virtual void _(Events.FieldUpdated<SOLine, SOLine.inventoryID> e) { if (e.Row == null) { return; } SOLine lineRow = (SOLine)e.Row; //Users loggedUserRow = Users.PK.Find(this.Base, PXAccess.GetUserID()); System.Guid? u = _currentUserInformationProvider.GetUserId(); Users loggedUserRow = Users.PK.Find(this.Base, u.Value); if
Hi,I need to overload confirmshipment action in acumatica 2025 R2. In 2024 version I used such codepublic class SOShipmentEntry_Extension : PXGraphExtension<PX.Objects.SO.SOShipmentEntry>{public delegate IEnumerable ConfirmShipmentActionDelegate(PXAdapter adapter);[PXOverride]public virtual IEnumerable ConfirmShipmentAction(PXAdapter adapter, ConfirmShipmentActionDelegate handler) {}}but in 2025 R2 acumatica I got this error.The System.Collections.IEnumerable ConfirmShipment(PX.Data.PXAdapter, ConfirmShipmentActionDelegate) method in the ClaLimitInvTiger25.ClaConfirmShipmentExtension graph extension is marked as [PXOverride], but no original method with this name has been found in PXGraph. I looked over the code and found they moved to cofirm shipment action into ConfirmShipmentExtension.cs file. I also tried to overload it likepublic class ClaConfirmShipmentExtension : PX.Objects.SO.GraphExtensions.SOShipmentEntryExt.ConfirmShipmentExtension{public delegate IEnumerable ConfirmSh
I created a GI that pulls data from a custom table. The GI is working perfectly. I want to add a filter to the GI so that I can use the filter in the Mobile App. The GI is working in the Mobile App.When I go to the Parameters tab in the GI, there are no fields available to select:Here are some print screens of the GI in case anything looks like it is missing: This is the result of viewing the GI: I don’t do GI’s often, so I don’t know what is wrong.
I have a grid where two columns are colored in Classic UI, and this works correctly there.However, in Modern UI those same two columns are no longer colored and appear with default styling. Is there a supported way to apply styling to specific grid columns in Modern UI? I also tried applying custom CSS like this qp-grid#grid [data-field="UOMSelect"] { color: #0078d4; } qp-grid#grid [data-field="UOMCost"] { color: #d40000; }but it didnt work
I have a parameter in the report, but it does not work in the Modern UI on the Report Template page. When I click the drop-down, it does not set a value. In the Classic UI, it works correctly. How can I fix this?
I have a custom screen with a custom grid. On that grid, the user can lookup the customer. In my current DAC field, it is restricting the customers to be returned based on whether the current user is linked to the Salesperson.For the customer nbr field in either the header or the grid, I am restricting the selector to only return customers where the current user is a salesperson on that customer.Thie is the DAC field for the grid. #region UsrCustomerID [CustomerActive()] [PXUIField(DisplayName = "Customer Nbr.", Required = true)] [PXSelector(typeof(Search2<Customer.bAccountID, InnerJoin<ICSCustomerSalesPersonLinksSQLView, On<ICSCustomerSalesPersonLinksSQLView.customerID, Equal<Customer.bAccountID>>>, Where<ICSCustomerSalesPersonLinksSQLView.userID.IsEqual<AccessInfo.userID.FromCurrent>>>), typeof(Customer.acctCD), typeof(Customer.acctName), SubstituteKey = typeof(Customer.acctCD))] [PXDefault] public virtual int? UsrCustomerID
Hello Acumatica community 😀I'd like to know the best practice for creating a custom field on screens (Customer Payments and Supplier Payments).I need a boolean value that can be modified even after a payment has been closed.However, a custom field on the corresponding tables doesn't allow modification once it's closed.What's the best practice? Should I create a new extension table with the same key as the payments table?Or is there another solution?Thank you for your feedback.Have a good day everyone 😁
I want to set this screen to the Modern UI. How can I set 4 columns in each row? Is there an original Acumatica screen example like this?
I have a problem in Modern UI. In Classic UI I have 2 grids inside SmartPanel: Top grid: BZItemQuantityInq Bottom grid: BZItemLotInq When I click any row in the top grid, the bottom grid refreshes automatically and shows related data. Everything works fine there. <px:PXSmartPanel runat="server" ID="CstSmartPanel1" Caption="Item Quantity Inquiry" CaptionVisible="True" LoadOnDemand="True" Width="1100px" Key="BZItemQuantityInq" AutoRepaint="True" AutoReload="True" ShowAfterLoad="True" CancelButtonID="CstButton8" CloseButtonDialogResult="No"> <px:PXGrid runat="server" ID="CstPXGrid2" AdjustPageSize="None" AllowPaging="True" SkinID="Details" Width="100%" DataSourceID="ds" SyncPosition="True" KeepPosition="True"> <Levels> <px:PXGridLevel DataMember="BZItemQuantityInq"> <Columns> ...... </Columns></px:PXGridLevel></Levels> <AutoSize Enabled="True" /> <AutoCallBack Enabled="True"
Hi everyone,I'm facing an issue where adding a custom Decimal field to a grid breaks the standard Copy and Paste functionality in Acumatica. The "Paste" action either fails completely or only updates the first row of the grid.(This only happens in Modern UI)DAC: using PX.Data.BQL;using PX.Data.EP;using PX.Data;using PX.Objects.CN.ProjectAccounting.Descriptor;using PX.Objects.CS;using PX.Objects.IN;using PX.Objects.PM;using PX.Objects.TX;using PX.Objects;using System.Collections.Generic;using System;namespace MultipleProject{ public class PMQuoteTaskExt : PXCacheExtension<PX.Objects.PM.PMQuoteTask> { #region UsrSortOrder [PXDBInt] [PXUIField(DisplayName = "Sort Order")] public virtual int? UsrSortOrder { get; set; } public abstract class usrSortOrder : PX.Data.BQL.BqlInt.Field<usrSortOrder> { } #endregion #region UsrQty [PXDBDecimal(2)] [PXDefault(TypeCode.Decimal, "1.0")] [PXUIField(DisplayName = "Quantity")] public
Can we add columns (user and date file upload) to attach files form?
Hi everyone,I’m trying to customize SOLine.AlternateID, but the original Acumatica logic is interfering with my functionality. Specifically, I need to remove the AlternativeItemAttribute from SOLine.AlternateID.Here’s what I tried so far: #region AlternateID [PXMergeAttributes(Method = MergeMethod.Merge)] [PXRemoveBaseAttribute(typeof(AlternativeItemAttribute))] [PXDBDefault(null, PersistingCheck = PXPersistingCheck.Nothing)] [BZAlternativeItemAttribute(INPrimaryAlternateType.CPN, typeof(SOLine.inventoryID), typeof(SOLine.subItemID), typeof(SOLine.uOM))] protected virtual void SOLine_AlternateID_CacheAttached(PXCache sender) { } #endregionHowever, this doesn’t seem to remove the attribute completely. Has anyone successfully removed or replaced the AlternativeItemAttribute from AlternateID? Any guidance or best practices would be greatly appreciated.
public override void Initialize() { base.Initialize(); PXCache cacheBase = Base.Caches[typeof(INLotSerialStatusByCostCenter)]; cacheBase.Interceptor = new BZAccumulatorAttribute(); }public class BZAccumulatorAttribute : PX.Objects.IN.InventoryRelease.Accumulators.QtyAllocated.LotSerialStatusByCostCenter.AccumulatorAttribute{ public BZAccumulatorAttribute() : base() { _SingleRecord = true; } protected override bool PrepareInsert(PXCache cache, object row, PXAccumulatorCollection columns) { bool ret = base.PrepareInsert(cache, row, columns); SiteStatusByCostCenter siteStatusByCostCenter = (SiteStatusByCostCenter)row; InventoryItem item = InventoryItem.PK.Find(cache.Graph, siteStatusByCostCenter.InventoryID); if (item != null) { BZInventoryItemExt itemExt = item.GetExtension<BZInventoryItemExt>(); if (siteStatusByCostCenter.SkipQtyValidation != true && siteStatusByCostCenter.ValidateH
Hi everyone,I am currently working on improving our CI/CD pipeline for our Acumatica customizations. My Idea is to automate the synchronization between our Acumatica environments and our Git repositories.Right now, if a developer makes a UI modification directly through the Customization Project Editor (e.g., modifying an ASPX page layout), they must manually click the "Save Project to Folder" button to generate the granular XML files (like ProjectMetadata.xml, ScreenWithRights_FRXXXXX.xml, etc.) into the _project folder for Source Control.I tried using the official CustomizationApi/getProject REST endpoint, but I noticed it doesn't behave like "Save Project to Folder". Instead, it downloads the compiled .zip package (containing a screens/ directory instead of the _project directory), which isn't useful for Git versioning.My question is there an undocumented API endpoint, a C# Customization Plugin approach, or an Acumatica CLI command (like ACU) that can programmatically trigger the ex
The client has a large number of non stock kits with stock components. They require allocation before the shipment is created. I was wondering if this was a setting in Acumatica itself, or if it requires customization to achieve.
We are building a remittance automation tool that needs to create an AR Payment and apply it to multiple invoices (1,300+ lines) via the REST API in Acumatica 25.200.001.What we've tried:PUT to /entity/Default/25.200.001/Payment with DocumentsToApply array containing AdjdDocType, AdjdRefNbr, and CuryAdjgAmt — returns HTTP 200 and updates LastModifiedDateTime but AppliedToDocuments stays 0. Documents are not applied. Import Scenario via the UI with a CSV provider mapping to the Payments and Applications screen (AR302000) — fails with "The system failed to commit the Adjustments row." Screen-based API POST to AR302000 — modern Acumatica 25.x loads the screen via JavaScript so DataSourceSessionID and DataSourceLoginID are not present in the initial HTML response. REST API /entity/Default/25.200.001/ImportScenario — returns 404, endpoint does not exist.Question:What is the correct method to programmatically create an AR Payment and apply it to multiple invoices in version 25.200.001? Is th
Hi, how do I change this Inventory ID selector to Location ID instead? Thanks
Hi everyone, I have an issue when trying to add a fourth column to the form. I can't align the 3rd and 4th columns with the others.Here is my HTML <qp-template modify="#form-Receipt" id="form-Receipt" name="14-17-17" class="equal-height" qp-collapsible wg-container="document_form"></qp-template> <template remove="#fsColumnC-Receipt"> </template> <template modify="#form-Receipt"> <qp-template id="fsColumnC-Receipt" after="#fsColumnB-Receipt" slot="C" view.bind="Document" name="1-1" class="equal-height"> <qp-fieldset id="fsColumnC-Receipt-Original" view.bind="Document" class="highlights-section" slot="A"> <field name="OrderQty" pinned="true"></field> <field name="ControlQty" pinned="true"></field> <field name="UnbilledQty" pinned="true"></field> <field name="CuryOrderTotal" pinned="true"></field> <
Hi, In the Modern UI, I added the grid and it is visible, but the Add and Delete options are not appearing. However, these options are available in the Classic UI. Please refer to the screenshot below for reference.Classic UIModern UI HTML <template> <qp-grid modify="#gridImportLocations"></qp-grid> <field name="UsrKNSPCPOrderImportWarehouse" after="#groupOrder FIELD[name='OrderType']"></field> <field name="UsrKNSPCPEnableLocationWarehouse" after="#groupOrder"></field> <qp-grid id="santhosh" view.bind="TaxZonedetails" caption="Tax Zone Mapping" class="framed-section col-12" after="#groupSubstitutionLists"></qp-grid></template>TS import { PXFieldState, PXFieldOptions, PXView, updateDecorator, removeDecorator, featureInstalled, FeaturesSet, placeBeforeView, placeAfterView, placeBeforeProperty, placeAfterProperty, graphInfo, viewInfo, gridConfig, columnConfig, treeConfig, controlConfig, linkCommand
Hello,Can you please help me add a custom button on the Payments tab of the Sales Order screen?In which extension should the new button be created?When I try to add it in the Sales Order extension, I get the following error message.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.