Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Web Services and APIs for developers
Recently active
Good day,I am trying to add an invoice in the Documents to Apply tab for a Credit Memo on the Payments & Applications (AR302000) screen via the API endpoint: {{base_url}}/entity/{{endpointName}}/{{endpointVersion}}/PaymentWhen I push through the applicable payload, I get the following error message: “The document is out of the balance.; curyOrigDocAmt: The document is out of the balance.”The slight mind scratcher here is; suppose I open the credit memo on the Payments & Applications screen and then manually click the Load Documents button on the screen, let the system load the invoice, and then save. If I remove that line, save it again, and then push through the same API request, I don’t get an error and the invoice shows up on the Documents to Apply tab.What would be wrong with my initial attempt at adding this invoice line to the credit memo’s Documents to Apply detail section?Request:{ "Type": { "value": "Credit Memo" }, "ReferenceNbr": { "value": "FT
Hi Team,We have a requirement as we create a receipt via API calls and there is a User Defined Field tab in the form level on how to create and update those fields in the receipts screen through the API calls, can you please review and suggest the best way possible to achieve it.Thank you!
Hello Community!I’m researching a way to send an API call FROM Acumatica TO a third-party endpoint. I’ve read through the I310 course document and I’m not seeing what I’m looking for.Example flow: User clicks a button on a screen, API call goes out, data is returned to the screen.Could anyone please point me in the direction of the right documentation or any resource that could assist?Few quick notes:We are on 2024 R1 Build 24.108.0034Our tenant is hosted in the cloud (I do not have back-end access)I’m familiar with API and Postman, just not how to send from Acumatica Thank you,Justin Long
I have a project with two tasks on it. Both tasks are active. I am using REST API to mark the task as complete. I keep getting an error that says “The Complete Button is disabled”This message is misleading as the button is very much enabled on the UI.Please see screenshots. Call from PostmanComplete button on task.
I’m trying to create AP Bill Payment by REST APII found that I can do it with “Check”, but it doesn’t work for me - may somebody have experiance with AP Payments and can say what I’m doing wrong.One of my API requests: PUT http://***/entity/Default/20.200.001/Check HTTP/1.1Accept: application/jsonUser-Agent: OpenAPI-Generator/1.0.0/csharpContent-Type: application/json{"ApplicationDate":{"value":"2024-09-08T00:00:00"},"CashAccount":{"value":"10011"},"Description":{"value":"Test"},"Details":[{"AmountPaid":{"value":15.0},"DocType":{"value":"Bill"},"ReferenceNbr":{"value":"TEST002"}}],"PaymentAmount":{"value":15.0},"PaymentMethod":{"value":"CHECK"},"PaymentRef":{"value":"Test001"},"Type":{"value":"Payment"},"Vendor":{"value":"V100"}}All my attemts finish with an error like: “exceptionMessage=The system failed to commit the Adjustments row.”
As part of our integration, we push time activities for the customer from our system into Acumatica. We currently are hitting this error for one specific customer, and are unclear as to how to fix it. Other customers do not run into this, so I’m wondering if it is something to do with the customer’s specific setup? Inserting 'Time Activity' record raised at least one error. Please review the errors. Employee: Employee 'E00001' cannot be found in the system. ProjectID: Project '5360' cannot be found in the system. Please verify whether you have proper access rights to this object. ProjectTaskID: Project Task 'T160LB' cannot be found in the system. I’ll note that we cannot view the “Employee Time Activities” screen on Acumatica with the user we have used to connect Acumatica to our application. Also, I’ve confirmed that the Employee ID, Project ID and Project Task ID all exist in Acumatica.
I am trying to create a payment and apply it to a select Invoice. When I attempt it, I get the error message “The system failed to commit the Adjustments row.” Would love it if someone could help point out what I’m missing here. Below is a slightly edited version of the JSON request body...{ "ApplicationDate": { "value": "2021-01-16T00:00:00.000+05:00" }, "ApplicationHistory": [], "AppliedToDocuments": { "value": "73.07" }, "CardAccountNbr": { "value": "8888" }, "CashAccount": { "value": "" }, "CreditCardProcessingInfo": [], "CurrencyID": { "value": "USD" }, "CustomerID": { "value": "7656TSGDB" }, "Description": { "value": "" }, "DocumentsToApply": [ { "AmountPaid": { "value": "73.07" }, "BalanceWriteOff": { "value": null }, "CustomerOrder": { "value": "" }, "Description": { "value": "" }, "DocType
For General: SOAP has GeneralPrimaryContact, GeneralAccountInfo, GeneralAccountAddress, GeneralAccountInfoPhoneType1, GeneralAdditionalAccountInfoPhone1Type, GeneralAdditionalAccountInfoExtRefNbrFor Billing: SOAP has BillingBillToInfo, BillingBillToAddressFor Shipping: SOAP has ShippingShipToInfo, ShippingShipToAddressWhere are these in REST? Do I need to $expand something to have access? What are the names?Also, what the difference between a MainContact and PrimaryContact?
How is it possible to invoke the “Create Child Orders” action using the REST API?
Hi Acumatica community,This is more for my personal interest/because I like to understand things. I figured a long time developer might know. In-between when I initially sat I320 and when I’m redoing it now, the guidance in the course changed.The new guidance is to send 1 request, with a double expand if you’re retrieving records from. So I have 2 questions:When did the guidance change? Why did the guidance change? (Technical perspective) I spend a fair amount of time explaining reasons for choices to implementers/developers, and while I’ll certainly follow I320 it helps to understand why the guidance changed. Screenshot of i320 Question: Suppose you need to retrieve detail lines & shipment lines of multiple sales orders.
I've tried this GET method but I just get an invalid type cast error:https://sandbox.com/entity/Default/22.200.001/Customer?$expand=PrimaryContact&$filter=PrimaryContact.Email eq 'kylelauridsen86@gmail.com'
I have an SOShipment object and we store a value in INItemLotSerialKvExt. We need to access the data via OData v4 and would like to get the value in a single call when accessing the SOShipment. Essentially, for every SOShipLineSplit on the shipment, we want to get the INItemLotSerial → INItemLotSerialKvExt Logically, it seems I could get this data like this: SOShipment → SOShipLineSplit → INItemLotSerial → INItemLotSerialKvExt. But those navigation properties do not seem to exist in the OData schema. Instead, the best I’ve been able to find is the following: SOShipment → SOShipLineSplit → INLotSerialStatusByCostCenter → INItemLotSerial → INItemLotSerialKvExt. This seems a round about way of getting the value. Here are the pertinent schema nodes for the links above: <EntityType Name="SOShipLineSplit"> <NavigationProperty Name="INLotSerialStatusByCostCenterByLocationID" Type="PX.Objects.IN.INLotSerialStatusByCostCenter"> <Re
I have this call:###PUT {{url}}/entity/Default/22.200.001/TimeEntryAuthorization: Bearer {{authToken}}Content-Type: application/json { "Summary" : {"value" : "Time entry summary"}, "Date" : {"value" : "2024-08-29T09:00:00" }, "Employee" : {"value" : "EMP001" }, "ProjectID" : {"value" : "CA.1001" }, "ProjectTaskID" : {"value" : "ANNUAL PAID" }, "EarningType" : {"value" : "VL" }, "TimeSpent" : {"value" : "08:00" }} The response comes back with an error (shortened):{ "id": "5fd70d80-0b66-ef11-96a7-00155dc9a206", "rowNumber": 1, "note": { "value": "" }, "error": "Inserting 'Time Activity' record raised at least one error. Please review the errors.",…"Employee": { "value": "EMP001", "error": "Employee 'EMP001' cannot be found in the system." }, Now, ‘EMP001’ definitely exists and is ‘Active”. I have even tried add the user to the “Administrator” role, but I still get the error. Any ideas would be appreciated.
I have successfully created an employee using the REST API, but I need to link that to a user. However, I do not seem to find any documentation, or API, related to managing users. Is what I’m trying to do possible using the API, or would an Admin need to use the portal to configure the relationship (Linked Entity)?
Hello again! I have a question relating to the automatic creation of item codes through the API. Along with the item codes themselves, I have a need to populate the unit of measure conversions (for example Cartons to LBS or Pallets with the conversion factors. The problem I am facing is, the UOMConversions class is not available in the Non-Stock Items object. It IS available on Stock Items, but we are not using those. We had a consulting group build out the initial system and they created a customization project to get us to where we can apparently have the UOM conversions on Non-Stock Items (as shown in this screenshot), however I am unable to contact them and need to figure out how to create those entries on the non-stock items via the API myself (along with help from here if possible).Here’s a shot of the Non-Stock Items in the customization project showing the fields I need access to: I just don’t know how to gain access to those fields via the class objects. I found a class objec
Currently, I doing this PUT method but it doesn’t do anything but return the sales order object:https://sandbox.com/AcumaticaERP/entity/Default/22.200.001/SalesOrder?$expand=Payments&$select=Payments/AppliedToOrder:{ "OrderType": {"value": "WB"}, "OrderNbr": {"value": "WB00159383"}, "Payments": [ { "ReferenceNbr": { "value": "598095" } } ] }I’m expecting it to return the unpaid balance on the order so I can use this amount to call the same method with the following body:{ "OrderType": {"value": "WB"}, "OrderNbr": {"value": "WB00159383"}, "Payments": [ { "ReferenceNbr": { "value": "787266" }, "AppliedToOrder": { "value": 55.5900 } } ] }
Hi, I used such request for uploading attachments to Acumatica for Billshttps://mycloud.acumatica.com/entity/ARTSDocEndpoint/23.200.001/bill/inv/096178/files/105908469_2024-07-29.pdfIt worked for all environments, but suddenly I started received such error {"message":"An error has occurred.","exceptionMessage":"More than one entity satisfies the condition.","exceptionType":"PX.Api.ContractBased.MoreThanOneEntitySatisfiesTheConditionException","stackTrace":" at PX.Api.ContractBased.EntityService.GetImpl(ISystemContract systemContract, String version, String name, EntityImpl entity, PXGraph screenGraph, EntityDescriptor entityDescriptor, CbOperationContext operationContext)\r\n at PX.Api.ContractBased.EntityService.DetermineEntityDescriptor(ISystemContract systemContract, String version, String name, EntityImpl entity, EntityExportContextBuilder entityExportContextBuilder, EntityDescriptor& entityDescriptor, PXGraph graph, CbOperationContext operationContext, Boolean& isArchi
Here’s what I’m doing now in SOAP to Record a CC payment: var pymtSchema = _context.AR302000GetSchema(); _context.AR302000Clear(); var commands = new List<Command>(); try { _context.AR302000Clear(); commands.Clear(); commands.Add(new Value { Value = "Payment", LinkedCommand = pymtSchema.PaymentSummary.Type }); commands.Add(new Value { Value = paymentRefNbr, LinkedCommand = pymtSchema.PaymentSummary.ReferenceNbr }); commands.Add(new Value { Value = bt_transactiontoken, LinkedCommand = pymtSchema.PaymentSummary.PaymentRef }); commands.Add(new Value { Value = bt_transactiontoken, LinkedCommand = pymtSchema.RecordCCPaymentCCPaymentData.PCTranNumber }); commands.Add(new Value { Value = "OK", LinkedCommand = pymtSchema.PaymentSummary.ServiceCommands.DialogAnswer, Commit = true }); commands.Add(pymtSchema.Actions.R
Since converting from SOAP, I’ve run into C# issues related specifically to the Sales Price (AR202000) page. For instance, when using a PUT method to create a brand new Sales Price row, I need to use a CancellationToken to timeout after 5 seconds. Otherwise, I need to wait 5+ minutes to get a response back (InnerException: Error while copying content to a stream). This is very strange since there is no wait time at all using Postman. This isn’t my biggest concern since I’ve worked around it with the timeout/cancellation.My biggest problem occurs when using a PUT method just to retrieve a Sales Price row (using InventoryID/PriceType/PriceCode). This can take anywhere between 1 second to 5 minutes just to retrieve a response. I need to do this to retrieve the RecordID, which is a new REST requirement for deleting specific SalePrice rows. I don’t receive any response errors like I do trying to create the Sales Price row. This is drastically increasing the processing time compared
Here’s the URL I tried with a POST method in Postman:https://sandbox.com/AcumaticaERP/entity/Default/22.200.001/Payment/ActionName Question: is there a way to pass a value to the popup window that is display when the Action is invoked? maybe I also need to pass something so it can submit this value?I tried to add the popup box field name but it’s not working...{ "entity": { "Type": { "value": "Payment" }, "ReferenceNbr": { "value": "598035" }, "PopupFieldName": {"value": "abc12345xyz"} }, "parameters": {}}
I’m trying to setup integrating FedEx, and I’ve been trying to setup the RestCarrier setting. All of the guides I’ve seen are just for PX.FedExCarrier.FedExCarrier, and don’t work for PX.FedExRestCarrier.FedExRestCarrier.
Good day,I want to create a customer through Acumatica Web service endpoint, and I get this error:"error": "Inserting 'Address' record raised at least one error. Please review the errors.; CountryID: 'Country' cannot be empty.",Country is required to create the customer, so I have the field added in the web service endpoint and I have tried using CountryID or Country, but it gives the error.Any suggestions?{ "CustomerID":{"value":"TESTCUSTOMER"}, "CustomerName":{"value":"Test Customer"}, "SendDunningLettersbyEmail":{"value":false}, "SendInvoicesbyEmail":{"value":false}, "SendStatementsbyEmail":{"value":false}, "Address":{ "AddressLine1": {"value": "123 Main St"}, "City": {"value": "Random city"}, "Country": {"value": "US"}, "State": {"value": "CA"}, "PostalCode": {"value": "00000"} }, "Attributes": [ { "AttributeID": { "value": "ARCONTACT" }, "Required": { "value": true }, "Value": { "value": "Cash" } } ]}
I’m trying to invoke the following: GET {{url}}/entity/Default/22.200.001/TimeEntry?$filter=cf.DateTime(f='Items.Date')%20ge%20datetimeoffset'2024-08-01'%20and%20cf.DateTime(f='Items.Date')%20le%20datetimeoffset'2024-08-16'&$select=Date,ProjectID,TimeSpent,BillableTime,EmployeeAuthorization: Bearer {{token}}Accept: application/json However, I receive the following error:{ "message": "You have insufficient rights to access the TimeEntry (PM209100) form." } When I add my user to the “Administrator” role it works fine, but I prefer using a custom role.Which permissions do I need to add to the role to make this work?I’ve tried adding all “Time and Expenses”, “Projects”, as well as “Project Management” permissions to no avail.
Hi all, I have a custom action on my Sales Order screen which sends an email to the customer of a selected order. Currently we are manually clicking this button for each order. Is there a way to access these actions via REST API given the Order Nbr? Or alternatively is there a way to “Add Email” to an order via REST API? Thanks!
I tried using the following PUT method in Postman:https://sandbox.com/AcumaticaERP/entity/Default/22.200.001/SalesPricesInquiry?$expand=SalesPriceDetails However, I have to wait 5 minutes until I get a “Could not get response” message when I use this body:{ "SalesPriceDetails": [ { "InventoryID": { "value": "00099-00098" }, "PriceType": { "value": "Customer Price Class" }, "PriceCode": { "value": "VIP" }, "UOM": { "value": "EA" }, "Price": { "value": "149.44" }, "Currency": { "value": "USD" }, "EffectiveDate": { "value": "2022-03-01T00:00:00-08:00" } }]}
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.