Introducing Acumatica Cloud ERP: 2026R1
Technical discussions focused on Web Services and APIs for developers
Recently active
Hi Everyone, I’m trying to add the Bank Deposit (CA305000) to a custom endpoint, however I’m struggling with getting the payment details to populate.I have no issue with adding the Header or the charges, but I’ve tried a bunch of different ways of adding the payments without any success.Below is how I have the endpoint at the moment however I have tried it with the AddPaymentDetail not being nested within AddPayment as well as trying to add the payments directly through Payments.When I submit a request the record will create however the payment detail will be emptyThe closest I can got to having it look like it is trying to add the payments is if I omit the DocModule property of $.AddPayment.Payments[*] then I receive the following error.Any help here would be greatly appreciated.
Hi,Building an integration with Shopify for a client. I am using custom fields to store the order ID keys and there is a PXCheckUnique in place on this field to prevent duplication. #region UsrMAXXShopifyOrderID [PXDBString(30)] [PXCheckUnique( Where = typeof(Where<SOOrderExt.usrMAXXShopifyOrderID, Equal<Current<SOOrderExt.usrMAXXShopifyOrderID>>>))] [PXUIField(DisplayName = "Shopify Order ID", Enabled = false)] public string UsrMAXXShopifyOrderID { get; set; } public abstract class usrMAXXShopifyOrderID : PX.Data.BQL.BqlString.Field<usrMAXXShopifyOrderID> { } #endregionThis validation works as expected in the UIHowever, if an identical request is made then in the response all Usr fields that are on the SOOrder object are null and the order is created without any of these fields created. (There is a Usr field on the SOLine that is still populated)I have done integrations for other clients
Hi all,I’m currently trying to receive the owner data of a shipment using the REST API.The response of GET /entity/Default/24.200.001/Shipment/<ShipmentNbr> contains the contact ID:... "OverrideFreightPrice": { "value": false }, "Owner": { "value": "56" }, "PackageCount": { "value": 4 }...However, I can’t request more information about the contact.The owner of a shipment is an employee. But the REST endpoint /entity/Default/24.200.001/Employee does not contain the ContactID.Is there any other endpoint that can be used?Thanks in advance!
Has anyone built out a Toast Integration in the marketplace?
Does anyone have an equation that can turn a negative to a positive amount in integrations. Our client integrates several thousand transactions and a handful (maybe a hundred) sometimes have a negative amount in the Debit and Credit field. This is happening because of how they are entered in the originating system. I have tried a few equations but keep getting errors. =IIf( [Debit Amount]>0, [Debit Amount], [Debit Amount]*-1)Cannot perform the ‘*’ Operation on System.String and System.Int32. I have tried double and decimal formats and still get this error. =ABS([Credit Amount])An error has occurred while the Abs(Identifier(Debit Amount)) function was being executed: ‘Type mismatch in the argument 1 of the Abs() function: Expected on of the Integer types.’ I have tried the Int32, double, and string types. I use this in excel. Not sure if the function actually works in Acumatica but thought I’d give it a try.
I have an Inventory with underscore eg. TEST_1 with the same description.If i make a request with ?$filter=InventoryId eq ‘TEST_1’ it cannot find it but it can find it with ?$filter=Description eq ‘TEST_1’. I CAN also find with ?$filter=InventoryId eq ‘TEST_1’ it but when I query a GI with Odata, but not with Rest API.This is the case for all items with underscore, any ideas? My segmented keys for items are question marks and not underscores.
According to Shopify Support Team, Shopify's API access tokens for merchants using the client credentials grant will expire every 24 hours starting January 2026.And Legacy custom app connections still rely on static API access tokens and secret keys without a refresh flow.Since the Acumatica public app uses OAuth for authentication, the token refresh mechanism would typically be part of the OAuth flow, however, the available Acumatica documentation and Shopify release notes do not detail any Shopify-specific token refresh implementation on the connector side.Please confirm whether the Acumatica connector handles the 24-hour token refresh automatically or if manual intervention is required.
Having issues trying to Import the Acumatica Endpoint as a Postman collection.It was working in previous but now it appears to start making the collection, then it disappears and shows Import Failed.I’m thinking it is to do with the size of the collection as I can create a small custom Endpoint and it imports using the JSON/Swagger/URL data, but trying to use the full Default endpoint fails. Any other ideas or workarounds to try?
When creating a new record - is it possible to exclude certain fields from the response?
I’m working on a utility that can bulk test the configuration mapping software we’ve written, which converts a design from our design tool to an Acumatica configuration. Right now the only way I’ve been able to test is by adding a line item to a sales order with the proper SKU, and then reviewing the generated configuration on that line item once our software runs. This becomes very time consuming when I’m testing in bulk, and it would be much simpler if I could pull down only the blank configuration template by SKU and revision number, and let our software fill that out. I saw that there is a “Test Configuration” tool when editing a configuration from the Configuration Maintenence screen, but I don’t see an API endpoint that can give me that data. Any help to point me in the right direction would be greatly appreciated.
In Acumatica, on screen AR302000, I have a Closed payment that I want to change to Voided Payment using the APIs. In the UI, the process is simple: we click VOID, then REMOVE HOLD, and the document becomes voided.The VOID button triggers the action /24.200.001/Payment/VoidCheck, and the REMOVE HOLD button triggers /24.200.001/Payment/ReleaseFromHold.I called these two APIs sequentially. The first one returned 204, but the second one failed because the payment is not placed on hold after running VoidCheck, meaning Acumatica does not allow ReleaseFromHold.Here is the payload I’m sending for the first API call:json{ "entity": { "ReferenceNbr": { "value": "000025" } }}And here is the payload I’m sending for the second API call:json{ "entity": { "id": "eed4ab6d-ccd5-f011-a83a-6045bd6d244f", "ReferenceNbr": { "value": "000025" }, "Hold": { "value": true // I also have tried false }, "Type": {
I am using REST API to insert a record. Normally, when you manually insert the record from the UI screen, we have custom logic to throw a warning by using e.Cache.RaiseExceptionHandling and PXSetPropertyException and PXErrorLevel.Warning. This allows the user to insert the record with no issues and then later on when they click a “Validate” button in the workflow of that screen our logic will decide what to do.The problem is that when inserting this same record using REST API we do not see that warning reflected back in the JSON response. It seems that the only way to see the error reflected back is to actually have an error be thrown rather than just a warning.It would be pretty simple to just save this warning to a field and then add that field to our endpoint.BUT I would like to know if there are any better ways to do this?
In our application we are creating Purchase Order Receipts and they had been working fine, but we had not used this function for 6 months or so and are using it again. We are getting this errorGuzzleHttp\Exception\ClientException: Client error: `PUT https://prestigesalonproducts.acumatica.com/entity/ORDIO/20.200.001/PurchaseReceipt` resulted in a `422 Unprocessable Entity` response: {"id":"15468762-cac9-ee11-65424-12a215648465216","rowNumber":1,"note":null,"error":"'POAccrualAcctID' cannot be empty.; Here is our codereturn [ 'note' => $receipt->comment, 'VendorID' => ['value' => $po->vendor_id], 'PostPeriod' => ['value' => now()->format('mY')], 'Details' => collect($receipt->products)->map(function ($product, $key) use ($po) { return [ 'InventoryID' => ['value' => $product->inventory_id], 'ReceiptQty' => ['value' => $product->qty],
If I have a script that is polling an API from an external system and then transforming the data and writing to Acumatica - what is the best free way to host that script so it can run on a schedule?So far it runs in my VM in the background but I want to know if there are any better or fully free options.
I use the Default/Shipment endpoint to save shipment information to Acumatica via REST API. If the order cannot be shipped in full (or other common errors), I get a failure to save the shipment record and the only message returned by Acumatica will say “Order SO X cannot be shipped in full. Check Trace for more details.”How can I check trace for more details? I have tried: Request Profiler I can see the returned Exception here if I turn on logging, but the exception is too late to tell me where the problem is. System Monitor Logging in as the API user and looking at the Trace page there Guzzle request to /Scripts/Trace/index.html This just returns the HTML for a deferred script unless I want to get into browser emulation just to get a usable error message Shipments can be 80+ lines, so trying to replicate the problem by hand in Acumatica is not working well.
At the recent Acumatica Summit 2026 I heard something along the lines that OData data pulls do not consume transactions or do not count against the api calls...something like this so correct my terminology if I am wrong.With this in mind, our developer team is creating a custom mobile app to do more advanced scanning than the WMS system can handle. As we have been doing this, I am setting up endpoints and testing through Postman that every call the app might make it covered. Some of these calls are just GET requests to a GI that I have set up on the endpoint (some of the GIs have parameters as well). Is it best practice to instead of putting the GIs on an endpoint, to just ‘expose to OData’ and do an OData call? This would presumably cut down on our api calls if my above thoughts are correct. Or are the differences negligible? We are trying to ‘standardize’ how this app accesses Acumatica so currently just putting everything onto one endpoint with different entities. Should we change a
I am trying to pin an Activity to a Lead via REST API. There isn’t an action for togglePinActivity on the DEFAULT Lead endpoint out-of-the-box, so I added one: I found a lead in the sales demo data that had multiple activities associated (Darren Walker):I got into the DAC Schema browser and found the Note ID for the 3rd activity here (Summary: Follow up on pricing) and used that and the lead’s id (9833) to create an API request.I POSTed to http://localhost/25R2SalesDemo/entity/ActivityPin/25.200.001/Lead/togglePinActivity{ "entity": { "LeadID":{"value":9833} }, "parameters": { "id":"4d1a3b2c-d87f-e411-beca-00b56d0561c2", "NoteID":{"value":"4d1a3b2c-d87f-e411-beca-00b56d0561c2"} }}I tried the activity note two ways (id and NoteID). I get a 204, which is a successful response. I check the UI, and it did pin an activity, but always the first one, regardless of the ID parameter I send:Posting again removes the pin on the first activity. How can I tell the API which activi
Hello, I’m currently trying to add a bill where the post period differs from the bill date. But it seems the system keeps taking the default post period based on date in case when my user profile don’t have a default branch.When a default branch is assigned to the user profile, it appears to work correctly only for bills associated with that same branch.For example, if the bill is in the BRANCH1 branch and the user's default branch is also BRANCH1, the Post Period is correctly populated based on the financial period of that branch.However, when processing bills that belong to other branches such as BRANCH2 or BRANCH3 the Post Period instead defaults based on the document date rather than following the logic of the branch-specific period.The endpoint we've tried:/entity/Default/22.200.001/Bill/entity/Default/24.200.001/BillRequest Method: @PUTRequest Body: { ... "Date": { "value": "2025-02-11T05:00:00.000+0000" }, "BranchID": { "value": "BRANCH1" }, "Post
I’m trying to create a simple AP Bill via the Rest API, but am running into an issue where it appears Acumatica is validating the Subaccount field and producing an error even though I have valid accounts in the account and subaccount. Below in the UI screenshot when I enter line 1, the account and sub default from the vendor record. In line 2 I have manually entered the account and subaccount from the payload that are valid. In line 3 shows as I first update the account, the subaccount is showing an error just like the API payload response. I can’t use PATCH because this is the initial PUT to create the bill. I have also tried creating a non-stock item with no expense account or sub to see if that helps, but it does not.Right now, the only solution I can see is to delete the account and subaccount from the vendor so it doesn’t default into the line. One thought is to turn off the commit on the Account field in a customization, but that doesn’t feel right.Are there any other solut
Hi, I’m using the REST API to retrieve data from our Acumatica instance. So far, things worked fine, but now I have the issue that the Invoice endpoint does not return invoices with a status of “Balanced”.For example:Invoice VR00000520 has status OpenInvoice VR00000521 has status Balanced When I do the following GET request../entity/Default/24.200.001/Invoice?$filter=ReferenceNbr eq 'VR00000520'..I get a proper response with the invoice data. However, when I do the following GET request../entity/Default/24.200.001/Invoice?$filter=ReferenceNbr eq 'VR00000521'..I get an empty response. I tried to query the Invoices endpoint only by status. This works for the Open status, such as:/entity/Default/24.200.001/Invoice?$filter=Status eq 'Open'..but it does not work for the Balanced status (the response is empty), such as:/entity/Default/24.200.001/Invoice?$filter=Status eq 'Balanced' What do I need to do to access also the invoices with status “Balanced”? Thank youMathias
Hi,Does anyone use the Progression Live software with Acumatica? Our Service Manager mentioned that an API was developed and is working well on both sides to import and export data with Acumatica. I’d like to confirm if this information is accurate.Also, how is the performance of the integration in terms of speed and reliability?How stable is it over time—have you experienced any issues or downtime?Have there been any bugs, and if so, how were they handled?Finally, how do the APIs react to Acumatica upgrades—do they require adjustments or have they remained compatible?
Hi, I’m using Device Hub and this is for MYOB Acumatica. The device hub gives me following logs. Unable to re-enter the password in the device hub as well producing the similar kind of error. I would appreciate help with this. Thank you,Dulanjana
I have a development instance of Acumatica 2025R2 setup and am testing sending requests to the OData DAC endpoints. Specifically I am targeting the PX_Objects_CS_Segment endpoint and have noticed an issue when including the Length field in the $select parameter. When testing in Postman, these requests return the expected data:{{EndpointURLDAC}}/t/SalesDemo/api/odata/dac/PX_Objects_CS_Segment {{EndpointURLDAC}}/t/SalesDemo/api/odata/dac/PX_Objects_CS_Segment?$top=5 {{EndpointURLDAC}}/t/SalesDemo/api/odata/dac/PX_Objects_CS_Segment?$select=SegmentID,DimensionID,Descr,EditMask,FillCharacter,tstamp,LastModifiedDateTimeThese requests result in ECONNRESET errors:{{EndpointURLDAC}}/t/SalesDemo/api/odata/dac/PX_Objects_CS_Segment?$select=SegmentID,DimensionID,Descr,EditMask,FillCharacter,tstamp,LastModifiedDateTime,Length {{EndpointURLDAC}}/t/SalesDemo/api/odata/dac/PX_Objects_CS_Segment?$select=LengthIs there something special about the Length field that the DAC endpoint is having an issue wi
Hi Community, Is there a way to have an API Role for a designated API User that is basically an API Admin and not a UI Admin? -RJ
Hi all, I have my reverse and apply API working per this threadReverseInvoiceAndApplyToMemo via API | Community Issue is that when you try to Reverse an Invoice it defaults to the Fin Period it was created. Since that Period is closed it needs to be changed to the current Period. I have tried adding "PostPeriod":{ "value": "122025" } or "FinPeriodID":{ "value": "122025" } to the payload but still Errors out "PostPeriod": { "value": "072025", "error": "Error: The 07-2025 financial period is closed in the ABC company." } Is this possible with the API? How do I find the right field to pass? I can change the period in the UI and it works. Thank you all
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.