Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Web Services and APIs for developers
Recently active
I am working on an automated Integration that picks up the products based on the last date modified and updates those products in an e-Commerce platform. but whenever the inventory is updated, it's not affecting the last date modified of the products and I am not seeing those products in my response.URL : https://<host_url>//Entity/<endpoint_name>/<endpoint_version>/StockItem?$filter=LastModified ge datetimeoffset'2022-01-19T05:17:43'This the API and parameters I am using in order to fetch recently updated products (date will change based on the integration run time)if a Qty of a product is updated (Qty added to a product, shipment completed with a product in order) it's not affecting this last date modified.Is there a way to find the Inventory change of a product, any separate endpoint just to determine a change?Thanks,
Hello,I have an issue to export TaxDetails table to Acumatica together with bill data.I prepared columns : TaxID, TaxRate, TaxableAmount, TaxAmount. for requestRequest is received status OK, new bill Item is appeared at acumatica, but tax details is emptyIs there any special conditions, with the help of which I can send TaxDetails table data to Acumatica?
I am attempting to create new locations using the REST Web-services Endpoint. I want to create a new location however I don't have the “CustomerID” for the location I am creating. Rather I have the Customer NoteID which is the ID returned from the Get request against the customer endpoint. Is it possible to use the unique customer identifier vs the companyID ?
Hi,This issue was discussed in this topic here - “Created looped method in customization Project”I describe what I am trying to achieve : I need to define a code which will be always executed, without any user actions,One important moment - is should work if Acumatica IIS process is running, so even if we have not authorized in Acumatica the code inside package that was imported to Acumatica customization must work. The logic is very simple - it will just generate files in specific directory all time.It was advised to perform to following steps in order to achieve the required result Create a new processing screen Written a logic in processing screen graph schedule this screen for every 10/20/30 minutesI need to clarify some momentsThe first one : during creating new screen - is it enough to generate new one screen without adding anything here (fields, other elements) at stat step (I do not need to use anything from this entity, no new fields, I just need to create independent code as
Hi, I need to synchronize the product stocks with our website through API and I would like to trigger the application on product stock change so I have 3 questions:Is it possible to add a business event trigger on product stock change? If point nr 1 is possible can a business event trigger start an application from ‘Run application’? If point nr. 2 is possible, can we send arguments(parameter) based on event? I would need to send the inventoryID as the parameter in this case.
Hi,I need to implement such logic that is executed eternally and without user’s actions, after I will deploy my project package for client’s Acumatica.Previously, the extension of functionality was achieved via events, which required the user interaction (By pressing SAVE button).Now, I need to define a code which will be always executed, without any actions,One important moment - is should work if Acumatica IIS process is running, so even if we have not authorized in Acumatica the code inside package that was imported to Acumatica customization must work.Can you. please, provide instruction, where I must locate my code in order to work at any time ?
Hi,I have two methods that extend functionality of 2 UI elements1)Release from Check and Payments tabProcess from Release Payments tab Unfortunately, when I press process from Release Payments tab, it calls persist methods which is responsible for Release button in Checks and Payments and executes it’s logic, that I have wrote. I tried to omit this by using static class , checking if the flag was set to true in class which responsible for Release Payment tab, but it’s not working as I expected due to method is called arbitrary How to prevent calling of Persist method of Release button when Processed button is pressed ?
Hi All,When we update specific fields on some forms under certain circumstances, the system displays popup dialog boxes where we need to respond to a question (by clicking a button “Yes” or “No”) in order to proceed.For example, when we update the Customer Class value on the Customers (AR303000) form for an existing customer, the system displays a warning dialog box with the text Please confirm if you want to update current customer settings with the customer class defaults. Otherwise, original settings will be preserved. and the Yes and No buttons. we should click Yes to proceed with changing the customer class.We can able to add command and achieve this through SOAP API calls, But, how we can handle this through REST API?
Hi,My application is called when the user presses RELEASE button at Checks and Payments tabPreviously the similar logic was done for Payments and Applications tab is such wayforeach (PXResult<AR.ARAdjust, AR.ARInvoice, PX.Objects.AR.Standalone.ARRegisterAlias, ARTran> gridRow in Base.Adjustments.Select()) { AR.ARAdjust _adjust = gridRow; } And I have ability to access all columns from Documents to Apply tabHow to build same contraction for Checks and Payments tab in order to get column values ?
Hi,I need to extract cash Account value, which is 10600However in code, in all entities with which I am wotking : APRegister, APPayemt, APAdjust - I can only extract its interal id - 978How to extract it’s value ?
Hi, In this topic - It was advised to use such request in order to get data from "Documents to Apply" table at Checks and Payments tabforeach (PXResult<APAdjust, APPayment, PX.Objects.AP.Standalone.APRegisterAlias, APTran> res in PXSelectJoin<APAdjust, LeftJoin<APInvoice, On<APInvoice.docType, Equal<APAdjust.adjdDocType>, And<APInvoice.refNbr, Equal<APAdjust.adjdRefNbr>>>, LeftJoin<APTran, On<APInvoice.paymentsByLinesAllowed, Equal<True>, And<APTran.tranType, Equal<APAdjust.adjdDocType>, And<APTran.refNbr, Equal<APAdjust.adjdRefNbr>,And<APTran.lineNbr, Equal<APAdjust.adjdLineNbr>>>>>>>, Where<APAdjust.adjgDocType, Equal<Required<APPayment.docType>>, And<APAdjust.adjgRefNbr, Equal<Required<APPayment.refNbr>>, And<APAdjust.released, NotEqua
HiIn previous topic I asked hot co call event when the Save button is pressed - Now, I need to do the same, but call the event when the user presses RELEASE buttonOne important moment Previously it was advised to use such sample of code in order to ensure that the event will be called only one Is there any need to add additional checks for release event in order to ensure that such event will be called only once ?
Hi,Previously I developed application that generates file when some Payment is SavedIt was done by calling this event Now I need to do the same for ChecksI tried to create similar event , but I do not know how to define such event One important moment that the event must be called only once, due to it generates file.It was advised to use that part of code e.Cache.VerifyFieldAndRaiseException<ARPayment.refNbr>(e.Row);And it perfectly worked the event was called only by once. How to do same for Cheks and Payments as what was done for Payments and Applications entity ?
We are attempting to Login to a Web Service Endpoint based on the 20.200.001 Default. However when we send the Login request it returns an errorRequest XML<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" ><soap:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ><Login xmlns="http://www.acumatica.com/entity/3/OzLINK_MVP_WSE/20.200.001/"><name>admin</name><password>*****</password></Login></soap:Body></soap:Envelope>Response<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode>s:Server</faultcode><faultstring xml:lang="en-US">System.InvalidOperationException: System contract PX.Api.ContractBased.SystemContracts.V4.SystemContract does not implement required interface PX.Api.ContractBased.Soap.ISoapSystemContractThis only happens for 20.200
Hi, I am trying to extract the value from Invoice as it shown at screen But I need to take into account Reference Nbr of invoice from “Documents To Apply Tab”So, I am going throw rows in Payment event which is called when user saves the Payment foreach (PXResult<AR.ARAdjust, AR.ARInvoice, PX.Objects.AR.Standalone.ARRegisterAlias, ARTran> gridRow in Base.Adjustments.Select()) { AR.ARAdjust _ARAdjust = gridRow; AR.ARInvoice _ARInvoice = gridRow; } But how to call necessary Invoice from this place ?
Hi, I am trying to extract the value from customer in details, as it shown at screen its name is AdjdCustomerIDHowever, when I am getting this value in a code , foreach (PXResult<AR.ARAdjust, AR.ARInvoice, PX.Objects.AR.Standalone.ARRegisterAlias, ARTran> gridRow in Base.Adjustments.Select()) { AR.ARAdjust _adjust = gridRow; try { codeWordArtsyl = _adjust .AdjdCustomerID.ToString() + "VCARD"; }}I am receiving codes (4096, 4078) instead of names ABCVENTURE, ARTCAGES as it is depicted at screenshot.How to extract names of Customers from this tab ?
Hi, I need to extract customer data inside my event that is called after user selects a definite paymentAfter payment was select, I pass the customerID from payment that was selected to Customer Search methodIt was suggested in this topic : to use the following code : It works perfectly, but it always extract data only from customer that is located in header of my payment “ABCHOLDING” But I need o get the data for each customer from Details tabSo, in my code I am going throw cycle inside payment rows and passing the parameter of customer according to my last string to the search method foreach (PXResult<AR.ARAdjust, AR.ARInvoice, PX.Objects.AR.Standalone.ARRegisterAlias, ARTran> gridRow in Base.Adjustments.Select()) { AR.ARAdjust _Adjust = gridRow; AR.ARInvoice _Invoice = gridRow; PXResu
Hi,I need to extract customer data inside my event that is called after user selects a definite paymentAfter payment was select, I pass the customerID from payment that was selected to Customer Search methodThe fields that I can get for this entity are belong to headerHow can I extract fields from the General tab ?
Hi,I have linked my project with Acumatica in Customization project editorMy solution calls the eventPerforms check for Payment and execute some REST requests if the desirable payment is selected.My question is : How to get Acumatica credentials in project ? When the event is triggered it is already have access to the system, because can check the element’s values, so maybe I can get credentials in code.Currently I have wrote Acumatica credentials in project for requests like this But, client can change them, or make some modifications in Acumatica, so there is must be opportunity to change them without making changes in project solution.How can I get the credentials for REST request in project ?
We have setup a Connected Service in C# to our WSE endpoint, I remember from previous work with Acumatica that to access a Generic Inquiry we need to utilize the Put request. I am trying this on the InventorySummaryInquiry to get the list of locations available for an item but am getting an error saying the select, filter, expand and custom fields need to be supplied, if I attempt to supply values for each of these then it fails because I am not able to determine exactly what should be supplied for expand or custom.Should I be using something else here?InventorySummaryInquiry inquiryData = await inquiryClient.PutEntityAsync(new InventorySummaryInquiry() { InventoryID = new StringValue() { Value = e.RequestData.ItemName }, ExpandByLotSerialNbr = new BooleanValue() { Value = true } }, "", "", "", ""); The data specified in the request is invalid.Status: 400Response: {"message":"The request is invalid.","modelState":{"$select.String":["A value is required but was not present in the reque
We are using C# with Swagger definition to access a Web Service EndpointWe are attempting to perform a filter on the SalesOrderClient GetListAsync and would like to perform a substringof filter on the OrderNbr field to find any orders that contain the value that has been specified. SalesOrderClient soClient = new SalesOrderClient(httpClient);soClient.BaseUrl = "http://localhost/Acumatica_DEV/entity/Test/20.200.001";select = "OrderNbr, OrderType, Status, CustomerID, Details/LineNbr, Details/InventoryID, Details/OpenQty";if (!string.IsNullOrWhiteSpace(e.RequestData.OrderNumber)) filter = "substringof(OrderNbr.Value, '" + e.RequestData.OrderNumber + "')";else filter = "OrderType eq 'SO' and Status eq 'Open'";IEnumerable<SalesOrder> salesOrders = await soClient.GetListAsync(select, filter, "details", "", null, null);foreach (SalesOrder salesOrder in salesOrders){ // Process Results} When we execute the search the error returned isUnable to cast object of type 'System.String'
Hi I need to create Open Invoices for adding them Payments and Application. I just need to create 20 invoices in order to add 20 rows for payment in order to test data generation As I understood only Open Invoices could be added to “Document to Apply” tab and only with same Customer So, how to make Invoice status “Open” ?If you know more fast way to generate 20 rows for “Document To Apply” tab for payment than creating 20 Invoices individually, I will be very grateful
I am trying to update the Shipment line detail with Screen Based SOAP API service.The code is executed but respective record not updated.Following is the code snippet var commandList = new List<Command>(); commandList.Add(new Key { ObjectName = SO302000.Result.DocumentDetails.LineNbr.ObjectName, FieldName = SO302000.Result.DocumentDetails.LineNbr.FieldName, Value = LineNbr.Trim(), Commit = true }); commandList.Add(new Key { ObjectName = SO302000.Result.DocumentDetails.ShipmentNbr.ObjectName, FieldName = SO302000.Result.DocumentDetails.ShipmentNbr.FieldName, Value = acushipmentNbr.Trim(), Commit = true }); commandList.Add(new Value { Value = shipmentLines.ShippedQty.ToString(), LinkedCommand = SO30
Can i get Inventory fetch API for EDI Integration
How to access all API for EDI Integration ?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.