Introducing Acumatica Cloud ERP: 2026R1
Technical discussions focused on Web Services and APIs for developers
Recently active
I’m currently working with the Acumatica API and noticed that some REST services typically return a totalCount field or include the total count of records as part of the metadata in their responses. However, I couldn’t find any documentation or examples indicating that Acumatica supports this feature, in fact the opposite from the links i pasted below.Specifically, I’m looking for a way to retrieve the total number of records in a dataset (e.g., total orders or customers) alongside a paginated response. I don’t see a totalCount in the response body, nor have I found any mention of it in headers like X-Total-Count.My questions are:Does Acumatica support returning the total count of records in the API response? If not, is there a recommended approach or workaround to efficiently retrieve the total count of records? Should I rely on a separate API call to count the records? Are there any best practices for handling this in Acumatica? Any insights or suggestions would be greatly appreciat
Last Read Message: The NONMEMBER price list could not be exported because at least one item in it does not exist in the BigCommerce store. Synchronize all the items in the price list, and then process the price list again.We have 4 Price Lists, and all are reading the same error.Price Lists: PREMIER, NONMEMBER, PRACTICON, WHOLESALEWe have no sync errors on the finished products. The only thing I can think of, is new products not yet ready to be installed in BigCommerce are on the Price Lists, so that may be stopping it. Is anyone familiar with this?
Given the issue with the Time Entry Webservice and form, can a user implement in interim fix by customizing the form, or building a new web service endpoint. Our deployment won’t be able to upgrade to 2025R1 in the near future. Thank you Pushing Notes for time activities, and auto completing time activities when creating | Community
I have an api that pushes salesorders and it works if I set the version to 18.200.001.When I move it to 20.200.001 it fails with the error [message] => An error has occurred. [exceptionMessage] => Sequence contains no matching element [exceptionType] => System.InvalidOperationException [stackTrace] => at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate) at PX.Api.ContractBased.EntityExportContextBuilder.ExtractFieldMappingKeyForDetail(String mappingKey, EntityField field, EntityMappingProjection[] entityFields, IMetadataProvider metadataProvider, IEntityMappingKeyService entityMappingKeyService, String endpointName, String version) in C:\build\code_repo\NetTools\PX.Api.ContractBased\EntityExportContextBuilder.cs:line 1343The only information I can find about changes is on page 55 of https://www.acumatica.com/media/2020/09/AcumaticaERP_IntegrationDevelopmentGuide.pdWhere it says‘• The type of the Payments field is changed.• Map
I've built out an Acumatica Webhooks project. I've successfully got it reading the incoming POST, and figuring out what to what to do. So far I can successfully insert Customers, Customer Locations and Projects without an issue. Honestly, from someone who does a fair amount of integration work, this is basically magic. These integrations are as close to real-time as is practical, so amazing work Acumatica.That said, using nearly the same code, I'm trying to insert AP or AR Invoices and I get bizarre or meaningless errors.I’ve stripped that code down to the most basic version, and when running the code that lives in the webhooks dll from a button on a graph it works exactly as expected. When it runs within the webhooks environment itself I get weird errors.For what it’s worth I’m running in 22R2, but I moved the code over to 23r1 and I get the same issues.My case in “in engineering review” so I thought I’d field it here to see if anyone has thoughts on what it is about the AR/AP graphs
I need to write a custom expression to map Brand from ERP to BigCommerce BrandID. it is custom since BigCommerce’s interval is a number and the ERP is a text format. We have a Substitution List designed to map the BrandID to the Brand Name too. The brand is located in Attributes, but I think it may need to be changed to Advanced for a customized expression. For the Substitution Lists, BCBrands is the name of the list.If anyone can point me in the direction for learning how to write the expressions too that would be great. I work in web development, so the expressions look familiar to JavaScript variable syntax.
Hi All,I’m trying to generate Demand PO’s linked to SO’s from the PO505000 screen but am finding it will only generate a PO for one line item at a time, rather than the multiple items available for Purchase from the one supplier or multiple suppliers. I’ve created a Custom Endpoint via Web Services linked to the screen, added the ProcessAll button as an Action with OrderNbr and OrderType as parameters: I call via HTTP using Postman and the below Body:I get a 202 back saying its successful.What seems straight forward and works in the GUI with the above filter options, will only ever generate one PO for the first line, no matter how many lines there may be meeting the criteria.Not sure what I’m missing and this seems like a process many people would want to use via API?? Is there something required in the Entity that I am missing??Any help appreciated :-)
Has anyone done an SMS gateway integration with Acumatica ? Can you integrate any Bank’s SMS gateway as long as they have the right APIs ?
Hi everyone.I’m trying to pass a “notes” field in when creating or updating Employee Time Activities. Below is an example of my request: PUT "/entity/Default/22.200.001/TimeEntry"{ "note": "Some notes", "BillableTime": { "value": "01:00" }, "Date": { "value": "2024-02-16T06:00:00-08:00" }, "Summary": { "value": "Hours from Timesheet" }, "EarningType": { "value": "RG" }, "Employee": { "value": "EP00000002" }, "LaborItem": { "value": "CONSULTSR" }, "ProjectID": { "value": "X" }, "TimeSpent": { "value": "01:30" } }The Time Activity gets created, but the notes do not get passed through. Also, I’m trying to run the CompleteTimeEntry action on the PUT "/entity/Default/22.200.001/TimeEntry", but I always get the “Invalid uri structure” error even though I have this as a mapped action:Any ideas what’s happening?
When I attempt to release a purchase order from hold via the API, sometimes I get the following error:Operation failed: At least one line is not present in the cost budget of the project. Either add the corresponding budget lines to the project or select the Allow Adding New Items on the Fly check box on the Summary tab of the Projects (PM301000) form I get the same error when try to do so from the user interface:Oddly, if I try a second time, either via a repeating the API request, or by pressing the button again, the error does not occur. What could be going on?
I am adding customers with the ERP api. Part of this process is assigning the default salesperson to the customer. For things like the MainContact/Address, I can just $extend the customer entity being saved, but this does not seem to work for Salespersons, How do I attach a default salesperson to a customer with the api?PUT /20.200.001/Customer?$expand=Salespersons,MainContact/Address{..."Salespersons": [ { "SalespersonID": {"value": "SALEPERID"}, "Default": {"value": true} } ]...}This will result in 200 OK, but no Salespersons will be assigned to the customer.{..."Salespersons": []...}What do I need to do to get this salesperson assigned to the customer?
Hello Acumatica Developer Community,I'm currently working on implementing an integration with Acumatica and have a question about the best approach for handling multi-tenant authentication. Authentication ChallengeFor OAuth authentication, we need to store and manage client ID and client secret credentials. Since Acumatica supports multiple tenants, I'm wondering about the best practice for handling authentication in this context.For multi-tenant support, we need to determine if Acumatica requires separate client credentials per tenant: Does each tenant instance require unique client ID/secret pairs in Acumatica, or can a single set of credentials work across multiple tenant instances with the same base domain? Thank you!
I have a Purchase Order with three line-items (Details). I create the PO and there’s no problem, but when I do to add a Detail, it randomly updates a different Detail. The new detail has no id (because it is new) and has a LineNbr of -1.Here is the PO details when I first create it:Here is the payload which I PUT to the PurchaseOrder endpoint{ "id": "bdb7e18e-5300-f011-8368-065d7e32b4d5", "Details": [ { "AlternateID": { "value": "8b974d0f-5f8a-b586-5e1a-a3d3900830ed" }, "Account": { "value": "Accounts Payable (A/P)" }, "BranchID": { "value": "SOURCE" }, "OrderNbr": { "value": "24-TST2-024" }, "InventoryID": { "value": "OTHER" }, "LineType": { "value": "Service" }, "LineNbr": { "value": -1 }, "LineDescription": { "value": "Measure & Install Trip" }, "UOM": { "value": "EACH" }, "OrderQty": { "value": 1 }, "
I am using the Acumatica REST API to create vendor bills. I am using the "Default" endpoint, version 24.200.001. I see the same behavior in older versions of the API too.When I submit a bill with an invalid account number on a bill detail line, the vendor's default expense account is used and no error is returned unless there is also an error with another field. The bill is successfully created and the response code is 200.Other bill detail line fields do not behave this way. For example, if I pass an invalid value for the Branch or Subaccount fields the bill is not created and the response code is 422.If I submit invalid values for both Account and Subaccount, the call fails but only the error for the invalid Subaccount value is returned.If I submit invalid values for both the Vendor field at the header level and Account the bill is not created. The response code is 422 and the body indicates both that the vendor could not be found and that the account could not be found:{ "id": "8
Hi, I am needing to get the Unbilled Quantity left on a Receipt.I can only get the total of all lines, but not the breakdown.Is there a way to do this?/entity/Default/22.200.001/PurchaseReceipt/?$expand=Details&$filter=VendorID eq 'V000000001' and ReceiptNbr eq '000092'here is my API Call URL. I have expanded details. there is nothing in custom etc
Hi,How can i GET PurchaseReceipt - List of Lines that are for a certain PO number?I cannot seem to filter by expanded objects. Otherwise to get all Receipt Lines against a certain PO I will need to dig out all receip[ts for a supplier and loop through all returned lines to get my filtered list. here is my API call returning a 500 - "The parent value for a property access of a property 'POOrderNbr' is not a single value. Property access can only be applied to a single value.",/entity/Default/22.200.001/PurchaseReceipt/?$expand=Details&$filter=VendorID eq 'V000000001' and Details/POOrderNbr eq '000018' or is there a way to query ReceiptLines seperately?
Is there a way to reopen a purchase order that was set to “completed” via the API? I have some tests that are cancelling line items and some of the POs are being closed automatically and I can’t delete them when I run my cleanup script.
Hello Everyone,I am trying to make a customer contact as primary through API call. But it is working for the first entered contact. Unable to set another contact. Could you please review and share your feedback?
Hi folks, i’m looking for an possibility to identify the system that sent a push-notification.The notification body looks like that:{ "Inserted": [ { .... } ], "Deleted": [], "Query": "<my_query>", "CompanyId": "<my_company>", "Id": "8d6d670d-86e0-477f-a8cc-343b578ba3dd", "TimeStamp": 638775642732888022, "AdditionalInfo": { "PXPerformanceInfoStartTime": "03/14/2025 15:51:12" }} However, if i receive push notifications from different systems (different domains) i can’t figure out which system sent the notification. I only have the company id but I don’t think that the companyid is unique. Does anyone know how to solve this problem? Thanks in advance.
Hello community,I have been trying to use a GET method to login to my Acumatica instance using Postman, but it displays 404 error or sometimes 401 unauthorized error.i have created a user account and have given the account as Admin & Access to OData roles. I have been using the following syntax in the postman:https://siteURL/AcumaticaERP/ODataIs this the correct syntax that I have been using? If yes then why I am facing the issue? Thanks in advance.
Hi Everyone,MYOB customer updating from 23R1 to 24R1.Having an issue where the Payment endpoint in the API is returning an error that the cash account cannot be found. This error is also experienced in the UI and is due to the Branch that is defaulted from the customer record being a different branch than the cash account (fair enough). The request body has the correct value for the branch so that if all values of the API request were entered in the correct order, then the payment would be valid.Is there a way to control the sequence that values in API requests are entered so that defaulting happens in the correct order?
TLDR; How can I avoid time zone issues with Plan dates on Production Order Details when they are created via API? Due to the long JSON blocks, this question split over the first few comments as well.Configuration:My Site Preferences ‘Login Time Zone’ is blank My logged in UI user is also set to a blank Time Zone My API user’s Time Zone is blank I am using infinite scheduling with a Finish On Constraint The Work Calendar is M-F 11 hour days in UTC-08:00Request:I log in via Postman to the API user for my local Acumatica instance. Then I PUT a Production Order (entity/MANUFACTURING/23.200.001/ProductionOrder?$filter=ProductionNbr eq 'DATETEST'):{ "OrderType": { "value": "RG" }, "ProductionNbr": { "value": "DATETEST" }, "InventoryID": { "value": "018954" }, "OrderDescription": { "value": "test product" }, "Warehouse": { "value": "PBNW" }, "Location": { "value": "*MFG" }, "OrderDate": { "value": "2025-0
We have defined an action on SOShipment and exposed it via the REST API. When we call the action for the API we define a query string param $select=ShipmentNbr. The action succeeds, but the the return body is empty. We expected to see an SOShipment, with the ShipmentNbr specified. How can we fix this?Here are the details On SOShipmentEntryExt, we define an action named AddShipmentNbr. public PXAction<SOShipment> AddShipmentNbr; [PXUIField(DisplayName = "Add ShipmentNbr", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)] [PXButton()] public virtual IEnumerable addShipmentNbr(PXAdapter adapter) { ... }We exposed this action as an Action on the Shipment REST API, naming it LockShipmentMutex. We construct a call in PostmanPOST {{PackingEndpointURL}}/Shipment/LockShipmentMutex?$select=ShipmentNbrBODY{ "entity": { "id": "6B4E9A21-78F6-EA11-96A4-000D3A610F1B" }}The ac
When I use the following, I am able to get everything except the Details (CustomerPaymentDetail):entity/Default/22.200.001/CustomerPaymentMethod/?$filter=CustomerID+eq+'C10987654321'+and+PaymentMethod+eq+'CC Visa'+and+ProcCenterID+eq+'procID'+and+CustomerProfileID+eq+'12345678901'The Details are in the Web service endpoint. Is there a specific URL parameter I need to pass to see it?
Hi , I wanted to extend my stock item end point to include Available to Ship value of Inventory Summary screen. To do so, I Create a custom view and tried to populate the field from DAC level only. So that when called from API it will resolve the BQL and fire the data to the API. I want this field for API only so I dont have any screen level events attached to this DAC field.Below is my code public class TSInventoryItemNIExtension : PXCacheExtension<PX.Objects.IN.InventoryItem> { public static bool IsActive() => true; #region UsrAvailToShip [PXDBDecimal] [PXSelector(typeof( Search<TSViewGetAvailToShip.qtyHardAvail, Where<TSViewGetAvailToShip.inventoryID, Equal<Current<InventoryItem.inventoryID>>>>))] [PXUIField(DisplayName = "Avail To Ship")] public virtual decimal? UsrAvailToShip { get; set; } public abstract class usrAvailToShip : PX.Data.BQL.BqlDecimal.Field<usrAvailToShip> { } #endregion }In the abo
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.