The Procurify connector enables you to ingest procurement, spend, and operational data from your Procurify account into Nexla data flows. Use this connector to sync purchasing records, vendor information, department hierarchies, order items, accounts payable data, payment transactions, and more into your analytics, reporting, or downstream systems. Follow the instructions below to create a new data flow that ingests data from a Procurify source in Nexla.
Create a New Data Flow
-
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.
-
Select the Procurify connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Procurify instance, and click Next; or, create a new Procurify credential for use in this flow.
-
In Nexla, Procurify data sources can be created using pre-built endpoint templates, which expedite source setup for common Procurify endpoints. Each template is designed specifically for the corresponding Procurify endpoint, making source configuration easy and efficient.
• To configure this source using a template, follow the instructions in Configure Using a Template.
Procurify sources can also be configured manually, allowing you to ingest data from Procurify endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
• To configure this source manually, follow the instructions in Configure Manually.
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Procurify endpoints. Each template is designed specifically for the corresponding Procurify endpoint, making data source setup easy and efficient.
Endpoint Settings
- Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.
Get Available User Permissions
Retrieves the complete list of available permissions in your Procurify system. Use this endpoint to audit what permission types exist in your organization or to support role and access management reporting.
- This endpoint retrieves all permission definitions available in your Procurify instance. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 20 records per page. Nexla will automatically iterate through all pages to retrieve the complete permission list.
Use this endpoint together with the Get Available System Roles endpoint to build a comprehensive view of your organization's access control structure.
Get Available System Roles
Retrieves the list of available system roles and permission groups defined in your Procurify instance. Use this endpoint to understand how roles are structured, which permissions are grouped together, and to support access control auditing or reporting.
- This endpoint retrieves all role and permission group definitions from your Procurify account. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 20 records per page. Nexla will automatically paginate through all available records.
System roles in Procurify define which actions users can perform across purchasing, approval, and financial workflows. This data is useful for compliance audits and access reviews.
List Users
Retrieves a paginated list of users in your Procurify account, including profile details, role assignments, and account status. Use this endpoint to sync user directories, audit user access, or populate downstream HR and identity management systems.
- This endpoint retrieves all users visible to the authenticated application. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 20 records per page. Nexla will automatically retrieve all pages.
To retrieve only the profile for the currently authenticated API user (rather than all users), use the Get Logged-in User endpoint instead.
Get Logged-in User
Retrieves the profile information of the currently authenticated API user. This is useful for verifying the identity and permissions of the credentials being used by Nexla, or for capturing the API application's user details as part of an audit trail.
- This endpoint returns a single user record for the application user associated with the configured Client ID and Client Secret. No additional configuration is required.
- Unlike the List Users endpoint, this endpoint is not paginated—it returns a single object representing the authenticated user's profile.
Get Locations
Retrieves a paginated list of locations defined in your Procurify account. Locations represent physical office, warehouse, or site addresses used in purchase orders and shipment routing. Use this endpoint to sync location data into ERP systems or for reporting by location.
- This endpoint retrieves all active locations in your Procurify account. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 20 records per page. Nexla will automatically paginate through all available records.
Location data includes billing and shipping address details and is commonly used to map Procurify purchase orders to physical sites in downstream ERP or accounting systems.
List Departments
Retrieves a paginated list of departments defined in your Procurify account. Departments are used to categorize spending, assign budget owners, and route purchase requests through appropriate approval workflows. Use this endpoint to sync department structures into reporting tools or ERP systems.
- This endpoint retrieves all departments in your Procurify account. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 100 records per page. Nexla will automatically paginate through all available records.
Get Account Codes
Retrieves a paginated list of account codes (GL codes) defined in your Procurify account. Account codes are used to classify spending for financial reporting and are typically mapped to general ledger accounts in your accounting or ERP system. Use this endpoint to sync account code data for reconciliation or financial reporting purposes.
- This endpoint retrieves all account codes in your Procurify instance. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 100 records per page. Nexla will automatically paginate through all available records.
Account codes in Procurify correspond to general ledger (GL) codes in your accounting system. Syncing this data is useful when validating that Procurify's coding aligns with your ERP's chart of accounts.
Get Accounts
Retrieves a paginated list of accounts from your Procurify instance. Accounts represent financial tracking categories used across procurement and AP workflows. Use this endpoint to retrieve account data for budgeting analysis, financial reporting, or ERP synchronization.
- This endpoint retrieves all accounts in your Procurify account. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 100 records per page. Nexla will automatically paginate through all available records.
List Vendors
Retrieves a paginated list of active vendors (suppliers) in your Procurify account, including contact details, payment terms, and vendor status. Use this endpoint to sync your vendor master data into ERP, accounting, or supplier relationship management systems.
- This endpoint retrieves all active vendors in your Procurify account. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 100 records per page. Nexla will automatically paginate through all available records.
Vendor data from Procurify is commonly used to maintain a synchronized supplier master in ERP and accounting platforms. This ensures that purchase orders and invoices reference accurate vendor information.
Get Active/Inactive Currencies
Retrieves a list of currencies configured in your Procurify account, including both active and inactive currencies. Use this endpoint to reference currency definitions when building multi-currency spend reports or validating currency codes used in purchase orders and transactions.
- This endpoint retrieves all currency records in your Procurify account. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 20 records per page. Nexla will automatically paginate through all available records.
Get All Catalog Bundles
Retrieves a list of all catalog bundles defined in your Procurify account. Catalog bundles are groupings of catalog items that can be purchased together, often used to standardize procurement of related goods or services. Use this endpoint to audit your catalog structure or sync bundle definitions into reporting tools.
- This endpoint retrieves all catalog bundles in your Procurify account. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 20 records per page. Nexla will automatically paginate through all available records.
Get All Catalog Items
Retrieves a list of catalog items available in your Procurify account. Catalog items represent pre-approved products and services that users can select when creating purchase requests, helping to standardize purchasing and control spending. Use this endpoint to export the product catalog for analysis or ERP synchronization.
- This endpoint retrieves all catalog items in your Procurify account. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 20 records per page. Nexla will automatically paginate through all available records.
Catalog item data includes pricing, vendor assignments, and any custom field values set on each item. Use the Get All Catalog Bundles endpoint to retrieve the bundle groupings that catalog items belong to.
Get All Order Items
Retrieves a list of order items from the global orders view in Procurify, with extensive filtering options by status, date range, vendor, account, department, and other criteria. Use this endpoint to pull historical purchase request and order line-item data for spend analysis, budgeting, or ERP integration.
- This endpoint retrieves order items from the global orders view (API v2). No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 20 records per page. Nexla will automatically paginate through all available records.
This endpoint accesses the legacy global order items view. For the current v3 order items endpoint with additional filtering options, use the List Order Items endpoint instead.
Get All Orders
Retrieves a list of orders (purchase orders) from the global orders view in Procurify, with filtering options by status, date range, department, location, and other attributes. Use this endpoint to export order records for spend reporting, ERP synchronization, or audit purposes.
- This endpoint retrieves purchase orders from the global orders view (API v2). No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 20 records per page. Nexla will automatically paginate through all available records.
List Order Items
Retrieves a paginated list of all order items using the current Procurify v3 API, with extensive filtering options. This is the preferred endpoint for retrieving order line-item data in modern integrations. Use it for spend analysis, procurement reporting, or syncing order details into ERP or data warehouse systems.
- This endpoint retrieves order items using the Procurify v3 API. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 100 records per page. Nexla will automatically paginate through all available records.
For additional details about Procurify order item fields and filtering parameters, refer to the Procurify API Reference.
List Company Payment Methods
Retrieves a paginated list of company payment methods configured in your Procurify accounts payable module. Use this endpoint to audit available payment options or to sync payment method data into your accounting or ERP system.
- This endpoint retrieves all company-level payment methods from your Procurify AP module. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 100 records per page. Nexla will automatically paginate through all available records.
List Unbilled/Billed Items
Retrieves a paginated list of unbilled and billed items from the Procurify accounts payable module. Use this endpoint to track invoice status, identify items awaiting billing, or export AP item data for reconciliation with your accounting system.
- This endpoint retrieves AP items—both those that have been invoiced and those that are still awaiting billing. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 100 records per page. Nexla will automatically paginate through all available records.
This endpoint is part of Procurify's accounts payable functionality. Use it in combination with the List Pay Transactions endpoint to build a complete view of the AP lifecycle from receipt to payment.
List Pay Transactions
Retrieves a paginated list of payment transactions recorded in Procurify. Use this endpoint to export payment history for cash flow analysis, audit trails, or synchronization with your accounting or ERP system.
- This endpoint retrieves payment transactions from your Procurify account. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 100 records per page. Nexla will automatically paginate through all available records.
List Receipt Items by Order Item
Retrieves a paginated list of receipt items recorded in Procurify for goods received against purchase orders. Use this endpoint to track receiving activity, support three-way matching (PO, receipt, invoice), or export receiving data for ERP synchronization.
- This endpoint retrieves receipt items from Procurify's receiving module. No additional configuration is required beyond selecting this endpoint template.
- Results are returned in paginated pages of up to 100 records per page. Nexla will automatically paginate through all available records.
Receipt items in Procurify record the quantity and pass/fail status of goods received against a specific order item. This data supports three-way matching workflows when combined with purchase order and AP invoice data.
Endpoint Testing
Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.
-
To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.
-
If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.
Procurify data sources can be manually configured to ingest data from any valid Procurify API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations, such as applying additional query filters, chaining multiple API calls, or accessing endpoints available in Procurify's v2 or v3 API that are not yet included as templates.
With manual configuration, you can also create more complex Procurify sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom request parameters.
API Method
-
To manually configure this source, select the Advanced tab at the top of the configuration screen.
-
Select the API method that will be used for calls to the Procurify API from the Method pulldown menu. The most common methods are:
- GET: For retrieving data from the Procurify API (used by all pre-built source templates)
- POST: For sending data to the API or triggering actions
- PUT: For updating existing records
- PATCH: For partial updates to existing records
- DELETE: For removing records
API Endpoint URL
- Enter the URL of the Procurify API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the
https:// protocol and your organization's Procurify domain.
Procurify API endpoint URLs follow the pattern https://[your-domain].procurify.com/api/[version]/[resource]/. For example, to retrieve departments, the URL would be https://mycompany.procurify.com/api/v3/departments/. Refer to the Procurify API Reference for a complete list of available endpoints and their URL patterns.
Date/Time Macros (API URL)
Optional
Optionally, the API URL can be customized using macros—all macros added to the API URL will be converted into values when Nexla executes the API call. Macros are dynamic placeholders that allow you to create flexible API endpoints that can adapt to different time periods or data requirements. This is particularly useful when using Procurify endpoints that support date-range filtering via query parameters.
Macros are particularly useful for Procurify endpoints that accept date parameters, such as order or AP item endpoints that can be filtered by date ranges. Using macros allows Nexla to automatically pass the current date or a relative date window with each data fetch.
-
To add a macro, type { at the appropriate position in the API URL (within the Set API URL field), and select the desired macro from the dropdown list.
{now} – The current datetime
{now-1} – The datetime one time unit before the current datetime
{now+1} – The datetime one time unit after the current datetime
custom – Datetime macros can reference any number of time units before or after the current datetime—for example, enter (now-4) to indicate the datetime four time units before the current datetime
-
Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. This format will be applied to the base datetime value of the macro—i.e., the value of {now} in {now-1}.
-
Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu—for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.
Lookup-Based Macros (API URL)
Optional
Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic API endpoints that can adapt based on existing data.
Lookup-based macros are useful when constructing Procurify API requests that require specific IDs (such as a department ID, vendor ID, or order ID) sourced from another Nexla data source in your environment.
-
To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.
-
Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.
If only a subset of the data that will be returned by the API endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response. Most Procurify paginated list endpoints return data nested under a results array in the response body.
For example, when a request is made to a Procurify list endpoint, the API typically returns a response containing a results array with the record data, along with a count and pagination metadata. By entering the path to the results array, you can configure Nexla to treat each element in that array as a separate record.
For most Procurify list endpoints, the correct path to data is $.results[*], which points to the array of result objects in the response body. The pre-built endpoint templates are pre-configured with this path automatically.
Autogenerate Path Suggestions
Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.
-
To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content & format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.
-
Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.
If metadata is included in the response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record. This is useful when you want to preserve contextual information such as the total record count, request IDs, or pagination details that apply to all records but are not part of the main results array.
Metadata paths are particularly useful for preserving Procurify API response context such as the total record count or pagination details that may be relevant for auditing or reconciliation purposes.
-
If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2). Additional headers may be required for API versioning or custom request requirements.
You do not need to include any headers already present in the credentials. The Authorization: Bearer [token] header is automatically handled by Nexla based on your Procurify credential configuration.
Endpoint Testing
After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.
-
To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.
-
If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.
Save & Activate the Source
- Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new Procurify data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.