Developer ToolsFree generatorPDF, Excel, Word exportAcumatica

Acumatica OData Generic Inquiry URL Builder

Acumatica generic inquiries can be published as OData feeds, which is the usual route into Excel, Power BI and ad hoc scripts. This builder assembles the URL with the query options people usually forget to add.

Fill in

The name on the GI, with Expose via OData ticked.

Generated code
Download:

OData v3 endpoint (tenant in the path)

GET https://mycompany.acumatica.com/odata/MyTenant/OpenSalesOrders?$select=OrderNbr,CustomerID,OrderTotal,Status&$filter=Status eq 'Open'&$orderby=OrderTotal desc&$top=500
Authorization: Basic <base64 of user@tenant:password>
Accept: application/json

OData v4 endpoint (selected with the version field above)

GET https://mycompany.acumatica.com/odatav4/MyTenant/OpenSalesOrders?$select=OrderNbr,CustomerID,OrderTotal,Status&$filter=Status eq 'Open'&$orderby=OrderTotal desc&$top=500
Accept: application/json

Power BI or Excel feed URL

https://mycompany.acumatica.com/odata/MyTenant/OpenSalesOrders

Use the block that matches your version choice. Spaces and quotes in the filter must be URL-encoded when pasted into a raw HTTP client. The GI must have Expose via OData ticked on the Generic Inquiry screen, and column names are the GI result column names, not database fields. Confirm the exact path for your Acumatica build and whether your instance uses the v4 route.

Governed reporting on Acumatica data

Optional: talk through reporting options on top of your Acumatica data with an expert.

Optional. The tool and every export work without this. No spam.

How to use the builder

Enter your host, tenant and the name of the generic inquiry, then fill in only the query options you need. Copy the matching block into your client. In Excel use Data, Get Data, From OData Feed and paste the plain feed URL. Always limit columns with $select and rows with $top while testing, because a GI over transactions can return a very large result set.

  • Tick Expose via OData on the inquiry first
  • Test with a small $top before pulling everything
  • Use a dedicated integration user with read access only

Filter syntax that works

OData filters use operators such as eq, ne, gt, ge, lt, le and the logical words and, or. Strings use single quotes and dates must follow the format your OData version expects. Column names in $filter and $select must match the GI result column names exactly, including case in many clients. Complex joins and calculated columns belong inside the generic inquiry design, not in the URL.

Common mistakes

The usual failures are a missing tenant segment, an inquiry that was never exposed, and a user without access to the underlying screens. A 401 means credentials or tenant, a 404 usually means the GI name or exposure. Remember that every OData call counts against your license limits on API usage, so schedule refreshes sensibly.

Frequently Asked Questions

Which Acumatica screen exposes a GI via OData?

Open the Generic Inquiry designer for the inquiry and tick Expose via OData in the header. Save it, and the inquiry becomes available as a feed under the OData endpoint for the tenant.

Should I use OData v3 or v4?

Both are available in current releases. v4 is the newer protocol and some clients prefer it, while many existing Power BI and Excel connections still use v3. Pick one per integration and keep it consistent.

Why does my filter return nothing?

Most often the column name or the value format does not match. Check the result column name in the GI, wrap text in single quotes, and test the filter without other options first.

Does this change data in Acumatica?

No. OData feeds from generic inquiries are read only. To create or update records you need the contract-based REST API or screen-based API instead.

If your team keeps rebuilding the same inquiries for finance and planning, we can put a governed natural language layer on top of your ERP data. Ask us about a read-only pilot.