Introducing Acumatica Cloud ERP: 2026R1
Technical discussions focused on Web Services and APIs for developers
Recently active
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 ?
The IN Operator is a very commonly used function in SQL to subselect items based on a list of values. it is extremely useful, for example, if you were trying to synchronize a data set from an external system with data inside Acumatica/SQL Server. The Acumatica development blog acknowledged this usefulness in its example code when it announced the availability of the IN Operator: SQL In Operator in BQL - Acumatica Developers BlogWhat it glosses over is that there is no way to use this operator with a Select2 query, which means there is no way to use it with a PXProjection for doing advanced data views in Acumatica. This requirement is not documented anywhere, except for the faint mention that it must be used with the Required<> property. The consequences of only being available with the Required property is that it must be used with a PXSelect type query, but cannot be used with a Select2 type of query. Select2 query style is required for any kind of PXProjection in the system. PX
Hi,The aim of this case is to identify how to form REST request properly in order to create Bill with status "Balanced"Our client is using our application, which creates requests and put data to Acumatica. Client asked if we can create invoices with status "Balanced". I checked such request with our Test Acumatica environment and it was easy to implement. My request successfully worked and created Bill in Acumatica with status "Balanced" However, when we do same request with client's Acumatica we get this error : "exceptionMessage": "Bill.CashDiscountDate: 'Cash Discount Date' cannot be empty.\nBill.DueDate: 'Due Date' cannot be empty.\nBill.LocationID: 'Location' cannot be empty.\nBill.Terms: 'Terms' cannot be empty.\nBill.Vendor: 'Vendor' cannot be empty.\nBill.VendorRef: 'Vendor Ref.' cannot be empty.\nInserting I searched and found that this error is caused by this fieldWhen I removed it from the request it successfully worked.My question is : what is the possible difference bet
I am working on upgrading our Acumatica instance from 2019R1 to 2021R1. A substantial part of my project involves updating a set of service layer applications that enable bidirectional communication between our ecommerce site and Acumatica. Our web site runs on a platform that does not have an available integration for Acumatica. The site interacts with Authorize.net for all credit card transactions. I’ll spare everyone the long explanation for why I need to unmask the Payment Profile ID (CCPID) in the API. The TLDR; is “our web site’s integration with Authorize.net could be better”. Most of what I need to accomplish involves not creating duplicate payment methods in Acumatica because of web orders.With our customized v18 API endpoint in 2019 R1 my code could load a customer’s payment method list to access the temporary ID for that payment method. A second request was sent to load a single payment method using the temporary ID with the payment method details expanded. That woul
I’m attempting to configure Microsoft Azure for Integration with Acumatica ERP instance by following these instructions:https://help-2021r2.acumatica.com/(W(7))/Help?ScreenId=ShowWiki&pageid=6b852c66-01c4-40b5-af7d-c53d7e4bd672 In Step 4, I’m required to specify the application ID URI of our Acumatica instance. Supposedly I’m supposed to find the application ID URI in the Web.Config file. But I can’t find this Web.Config file - where would I find this or is there an alternative way to find the application ID URI? J
Hello Team,Could you clarify, is it possible to receive deleted customers from Acumatica via API?If yes, which endpoint (screen) it is necessary to use?I opened Web Services Endpoints and didn’t find here the necessary endpoint.Thank you!
This may be a simple question, but I am not having any luck finding the information I need online or in the documentation. I am trying to use OData V4 to get information from the Branch screen, and I am trying to locate the default address information. When I try to follow the example from the training material (I300 Data Retrieval with OData 2021 R2), it tells me for the AR Customer to expand using "AddressByDefAddressID". I tried this for the PX_Objects_GL_Branch entity and I get an error saying "The query specified in the URI is not valid. Could not find a property named 'AddressByDefAddressID' on type 'PX.Objects.GL.Branch'.". My question is, where can I go in Acumatica, or in the documentation to find what is available for each entity? ------------------------------(I300 Data Retrieval with OData 2021 R2)------------------------------------------The PX.Objects.AR.Customer entity contains common information about a customer. TheContactByDefBillContactID navigation property o
Background:I have an Acumatica instance installed that has two Tenants. Tenant ID 2 is the actual company data, and Tenant ID 3 is test company data. I have API Web Service started that has access to AR301000(created only in Tenant 2). I have an admin user, with system admin rights on both Tenants. I just change the login information to switch tenants. admin@actual or admin@test. Im doing this via a C# app, and using a SoapScreenClient. My goal is to create an Invoice, and add a couple lines items in the DocumentDetails section.Issue:Calling .AR301000GetSchema() in Tenant 3 will show DocumentDetails.ServiceCommands as NULL, and therefore I can’t access the .NewRow Command. By only changing my login info to Tenant 2, the .AR301000GetSchema() will allow me to access the ServiceCommands, and call .NewRow and add my line items. The two tenants are setup nearly identical, and manually logging into the web interface, I can complete this task as expected.Side Note.This issue of this .ServiceC
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.