Skip to main content

Procurify Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to a Procurify location.
procurify_api.png

Procurify

Create a Procurify Destination

  1. Click the + icon on the Nexset that will be sent to the Procurify destination, and select the Send to Destination option from the menu.

  2. Select the Procurify connector from the list of available destination connectors. Then, select the credential that will be used to connect to the Procurify organization, and click Next; or, create a new Procurify credential for use in this flow.

  3. In Nexla, Procurify destinations can be created using pre-built endpoint templates, which expedite destination setup for common Procurify write operations. Each template is designed specifically for the corresponding Procurify endpoint, making destination configuration easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    Procurify destinations can also be configured manually, allowing you to send data to Procurify endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Procurify endpoints. Each template is designed specifically for the corresponding Procurify endpoint, making destination setup easy and efficient.

  • To configure this destination using a template, select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

    Create New User

    Creates a new user account in Procurify with the specified profile details and optional role assignment. Use this endpoint to provision users programmatically—for example, when onboarding employees in bulk from an HR system or identity provider.

    • Ensure the Nexset being sent to this destination contains the required user fields as defined by the Procurify API. Required fields typically include first name, last name, email address, and username. Optional fields include role assignments and department associations.
    • Each record in the Nexset will be sent as a separate user creation request (one record per API call). Confirm that each record represents a distinct user to be created.

    User email addresses must be unique within your Procurify account. Attempting to create a user with an email address already in use will result in an error response from the Procurify API. For complete information about required and optional user fields, refer to the Procurify API Reference.

    Update User

    Updates an existing user's profile information, permissions, and settings in Procurify by user ID. Use this endpoint to synchronize user attributes from a source system—for example, updating department assignments, roles, or contact details when employee records change in your HR system.

    • The Procurify user ID must be provided in the Nexset data to identify which user record to update. The user ID is appended to the API URL to target the correct record. Ensure that the Nexset includes a field mapped to the Procurify user ID before configuring this destination.

      • Use the Get Users data source endpoint to retrieve existing user IDs if needed.
      • The update operation is a full replacement (PUT)—all required user fields must be included in each record, not just the fields being changed.

    Because this endpoint uses a PUT (full replacement) method, all required user fields must be present in each record sent to this destination. Sending partial records may result in missing data on the updated user profile.

    Deactivate User

    Deactivates or deletes an existing user account in Procurify by user ID. Use this endpoint to programmatically offboard users—for example, when an employee departure is recorded in your HR system and their Procurify access should be removed automatically.

    • The Procurify user ID must be provided in the Nexset data to identify which user account to deactivate. Ensure that the Nexset includes a field containing the Procurify user ID for each record to be processed.
    • Each record in the Nexset will trigger a separate deactivation request for the specified user ID.

    :::warning Important This operation removes the specified user's access to Procurify. Verify that the correct user IDs are being sent before activating this destination to avoid unintended deactivations. :::

    Create New Location

    Creates a new location in Procurify with billing and shipping address details. Use this endpoint to provision office locations, warehouses, or other physical sites programmatically—for example, when opening a new facility and needing to add it to Procurify for purchase order routing.

    • Ensure the Nexset contains the required location fields, including location name and address details. Refer to the Procurify API Reference for a complete list of required and optional fields for location creation.
    • Each record in the Nexset will be sent as a separate location creation request.

    Create New Department

    Creates a new department in Procurify with the specified properties. Use this endpoint to programmatically build out your organizational hierarchy—for example, when adding new departments from an HR or ERP system.

    • Ensure the Nexset contains the required department fields, including the department name. Additional optional fields may include the department's branch or location association.
    • Each record in the Nexset will be sent as a separate department creation request.

    Update Department

    Updates an existing department in Procurify by department ID. Use this endpoint to keep department records in Procurify synchronized with your authoritative source—for example, when department names or structures change in your ERP or HR system.

    • The Procurify department ID must be included in the Nexset data to identify which department to update. The department ID is appended to the API URL for each request.

      • Use the List Departments data source endpoint to retrieve existing department IDs if needed.
      • This is a full replacement (PUT) operation—all required department fields must be present in each record.

    Create Account Codes

    Creates a new account code (GL code) in Procurify with the specified properties. Use this endpoint to sync your chart of accounts from an ERP or accounting system into Procurify, ensuring that purchasing teams can code expenses accurately at the point of request.

    • Ensure the Nexset contains the required fields for account code creation, including the account code name and code value. Refer to the Procurify API Reference for the full list of required fields.
    • Each record in the Nexset will be sent as a separate account code creation request.

    Account codes in Procurify correspond to GL codes in your accounting or ERP system. Syncing these from your ERP ensures that Procurify users always have access to the most current coding options when submitting purchase requests.

    Update Account Code

    Updates an existing account code in Procurify by account code ID. Use this endpoint to keep GL codes synchronized between Procurify and your authoritative ERP or accounting system when account code names or properties change.

    • The Procurify account code ID must be included in the Nexset data to identify which record to update. The account code ID is appended to the API URL for each request.

      • Use the Get Account Codes data source endpoint to retrieve existing account code IDs if needed.
      • This is a full replacement (PUT) operation—all required account code fields must be present in each record.

    Create Vendor

    Creates a new vendor (supplier) in Procurify with the specified properties and contact information. Use this endpoint to maintain vendor master data in Procurify in sync with your ERP or supplier management system—ensuring that buyers can select correct vendor records when creating purchase requests and orders.

    • Ensure the Nexset contains the required vendor fields, including vendor name. Optional fields include contact details, payment terms, and address information.
    • Each record in the Nexset will be sent as a separate vendor creation request.

    Vendor names should be unique within your Procurify account to avoid duplicate supplier records. Consider implementing deduplication logic in your Nexla flow before sending data to this destination.

    Update Vendor

    Updates an existing vendor in Procurify by vendor ID with new properties and contact information. Use this endpoint to keep vendor master records in Procurify synchronized with your authoritative source system when supplier details change.

    • The Procurify vendor ID must be included in the Nexset data to identify which vendor record to update. The vendor ID is appended to the API URL for each request.

      • Use the List Vendors data source endpoint to retrieve existing vendor IDs if needed.
      • This is a full replacement (PUT) operation—all required vendor fields must be present in each record sent to this destination.

    Create Catalog Item

    Creates a new catalog item in Procurify with pricing, vendor assignment, and custom field data. Use this endpoint to programmatically populate your Procurify product catalog—for example, syncing approved products from an ERP or product management system so that buyers can select them in purchase requests without manual entry.

    • Ensure the Nexset contains the required catalog item fields, including item name, unit price, and vendor assignment. Custom fields defined in your Procurify account can also be populated.
    • Each record in the Nexset will be sent as a separate catalog item creation request.

    Catalog items in Procurify support custom fields that can be configured for your organization's specific needs. Confirm that any custom field values in the Nexset match the expected format for your Procurify account configuration.

    Update Catalog Item

    Updates an existing catalog item in Procurify by item ID with new pricing, vendor assignments, and other details. Use this endpoint to keep catalog pricing and attributes current—for example, syncing price updates from a vendor price list or product database.

    • The Procurify catalog item ID must be included in the Nexset data to identify which item to update. The item ID is appended to the API URL for each request.

      • Use the Get All Catalog Items data source endpoint to retrieve existing catalog item IDs if needed.
      • This is a full replacement (PUT) operation—all required catalog item fields must be present in each record.

    Create Requisition

    Creates a new purchase requisition in Procurify with line items, location, department, and a required delivery date. Use this endpoint to programmatically submit purchase requests—for example, when an automated system or integrated application needs to trigger a purchasing workflow in Procurify.

    • Ensure the Nexset contains all required requisition fields. Required fields typically include:

      • Line items: One or more items to be purchased, each with a name, quantity, and unit price.
      • Location: The Procurify location ID to which the items should be delivered.
      • Department: The Procurify department ID that will be charged for the purchase.
      • Required date: The date by which the items are needed.
    • Each record in the Nexset will be sent as a separate requisition creation request. Confirm that each record represents a complete, self-contained requisition.

    Submitted requisitions enter the standard Procurify approval workflow configured for the specified department and location. Ensure that the location and department IDs included in the Nexset are valid and active in your Procurify account. Use the Get Locations and List Departments data source endpoints to retrieve valid IDs.

    Revise Purchase Order

    Revises an existing purchase order in Procurify with updated items, addresses, payment terms, and other details. Use this endpoint when purchase order details need to be modified after initial creation—for example, when quantities change, pricing is revised, or a delivery address is updated.

    • The Procurify purchase order ID must be included in the Nexset data to identify which purchase order to revise. The PO ID is appended to the API URL for each request.

      • Use the Get All Orders data source endpoint to retrieve existing purchase order IDs if needed.
      • This is a full replacement (PUT) operation—all required purchase order fields must be included in each revision request.
    • Each record in the Nexset will trigger a separate revision request for the specified purchase order.

    :::warning Important Revising a purchase order may affect downstream approval workflows or vendor-facing documents. Confirm the intended changes before activating this destination to avoid unintended modifications to in-progress purchase orders. :::

    Create Company Payment Method

    Creates a new company payment method in the Procurify accounts payable module. Use this endpoint to programmatically add payment options—for example, when onboarding a new corporate credit card or bank account that should be available for processing AP payments in Procurify.

    • Ensure the Nexset contains the required fields for payment method creation. Refer to the Procurify API Reference for the complete list of required and optional fields.
    • Each record in the Nexset will be sent as a separate payment method creation request.

    Create Receipt Item

    Creates a receipt item for a specified order item, recording the quantity of goods received and whether they passed or failed inspection. Use this endpoint to programmatically record goods receipts—for example, when receiving confirmations are captured in a warehouse management system and need to be recorded in Procurify to support three-way matching.

    • Ensure the Nexset contains the required fields for receipt item creation, including:

      • Order item ID: The Procurify order item ID that the receipt is associated with.
      • Pass quantity: The quantity of items received that passed inspection.
      • Fail quantity: The quantity of items received that failed inspection (if any).
    • Each record in the Nexset will be sent as a separate receipt item creation request.

    Receipt items link goods receipt events to specific purchase order line items in Procurify, enabling three-way matching between the purchase order, receipt, and supplier invoice. Use the List Order Items data source endpoint to retrieve the order item IDs needed for this destination.

Configure Manually

Procurify destinations can be manually configured to send data to any valid Procurify API endpoint. Manual configuration is useful when the required operation is not covered by a pre-built template, when custom request parameters are needed, or when accessing newer Procurify API endpoints not yet included as templates.

Using manual configuration, you can also configure Nexla to automatically send the response received from the Procurify API after each call to a new Nexla webhook data source.

API Method

  1. To manually configure this destination, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Procurify API from the Method pulldown menu. Common methods for Procurify write operations include:

    • POST: For creating new records (users, vendors, departments, requisitions, etc.)
    • PUT: For full replacement updates of existing records (requires all fields)
    • PATCH: For partial updates to existing records (only changed fields required)
    • DELETE: For removing or deactivating records

Data Format

  1. Select the format in which the Nexset data will be sent to the Procurify API from the Content Format pulldown menu. Nexla will automatically convert the data to the selected format for each API call. Procurify accepts data in JSON format for all write operations.

API Endpoint URL

  1. Enter the URL of the Procurify API endpoint to which you want to send the Nexset data in the URL field. This should be the complete URL including the https:// protocol and your organization's Procurify domain. For update or delete operations, include the record ID at the end of the URL.

Procurify API endpoint URLs follow the pattern https://[your-domain].procurify.com/api/[version]/[resource]/. For operations targeting a specific record, append the record ID: https://[your-domain].procurify.com/api/v3/vendors/[vendor_id]/. Refer to the Procurify API Reference for a complete list of available endpoints.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    You do not need to include any headers already present in the credentials. The Authorization: Bearer [token] and Content-Type: application/json headers are automatically handled by Nexla based on your Procurify credential configuration.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this Procurify destination, select the attributes from the Exclude Attributes pulldown menu.

  • Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.

Record Batching

Optional
  1. If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching.

  2. Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to 100.

  3. Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings. Some algorithms require additional settings—click on an algorithm listed below to view instructions for configuring these settings.

Response Webhook

Optional

Nexla can automatically send the response received from the Procurify API after each call to a new Nexla webhook data source. This option allows you to keep track of the status of each API call and any additional information returned after each call—such as the newly created record's ID or any validation errors.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the Procurify API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.

  • Click on a sample request payload to expand it and view the complete payload content.
  • Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.

Endpoint Testing (Manual Configuration)

After all endpoint settings have been configured, Nexla can send a test payload to the Procurify API to ensure that the destination is configured correctly.

  1. To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the Procurify API using the current settings.

Save & Activate the Destination

  • Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to the configured Procurify endpoint, open the destination resource menu, and select Activate.

    The Nexset data will not be sent to Procurify until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.