UiPath Documentation
industry-department-solutions
latest
false
  • Inventory management solution release notes
    • 2026
      • June 2026
      • May 2026
      • April 2026
  • Commercial pricing solution release notes
      • June 2026
      • May 2026
      • April 2026
  • Merchandising solution release notes

Supply Chain & Retail Solutions release notes

June 2026

June 3, 2026

New: Integration walkthrough

A new Integration walkthrough page in the API Guide walks customer IT teams, solution engineers, and support engineers through the four stages of integrating with the Data Ingestion API: extract, transform, align field names, and batch + send. Each stage has the relevant API calls embedded inline — GET /api/v2/schema/solutions to confirm what's rolled out, POST /api/v2/objects/{objectName} for ingesting batches (with a dryRun variant), and POST /api/v2/schema/{objectName}/add-attribute for adding tenant-specific columns — alongside Snowflake COPY INTO and Redshift UNLOAD recipes for the extract step. Designed as a single one-stop guide rather than scattered references.

Every Commercial Pricing dataset page in the User Guide and its matching resource page in the API Guide now carry a short cross-link to each other. Readers can jump from business context (purpose, usage notes) to the canonical technical schema (data types, validation rules, request/response examples) in one click, in either direction. The two guides remain separate — the cross-links just make navigation between them explicit. Affects the customer, merchant, project, list price, product cost, competitor price, quote line, sale, region, and product pages.

Bulk-ingest guide: folder-load sort order spelled out

The Historical data ingestion guide's "File or folder?" section now spells out the folder-load sort-order rules. Lexicographic sort gives the right order when filenames encode order as zero-padded numbers (part-0001.csv) or ISO-style date prefixes (2024-06-01.csv) — both forms warehouse exports produce by default. It gives the wrong order for non-padded part numbers, DD-MM-YYYY or MM-DD-YYYY date names, or month-name files like January_report.csv. The doc now lists each failure case in a comparison table and recommends the safe naming pattern.

June 2, 2026

Commercial Pricing schemas aligned with the canonical schema registry

The Commercial Pricing data documentation has been brought in line with the canonical schema. Several columns have been renamed to their canonical names, a few tenant-specific columns that had crept into the public docs have been removed, and previously-optional columns are now marked Required to match the schema's validation rules. The most visible changes:

  • Sale: region_id and price_list_id are now in the resource. The primary key for sale is now sale_id + product_id + region_id + sold_at.
  • Quote line: the primary key now includes region_id (so it's quote_id + product_id + region_id). New columns include original_quote_id, quote_status, decided_at, and price_list_id. Some field names have been renamed to their canonical form (for example, quoted_unitsquantity, quoted_priceselling_price).
  • Product, Customer, Project, Merchant, Region, List price, Product cost: all non-PK columns are now marked Required to reflect the schema's actual validation rules.
  • List price and Product cost no longer document valid_from/valid_to columns — those were tenant-specific and aren't part of the canonical schema.

Pipelines preparing data against the previous documentation may need their column names and required-field coverage reconciled with the updated pages.

The Commercial Pricing page now records the recommended operationType (APPEND or UPSERT) for each resource. For Commercial Pricing, most tables use APPEND because the solution uses the historical state of customers, products, prices, and merchants as model features. quote_line and sale use UPSERT, since re-submissions of the same business key are corrections rather than new versions.

New: Competitor prices dataset documentation

The Competitor prices dataset is now documented in the user guide. The dataset was already part of the API; it just didn't have a customer-facing data-requirements page until now.

Historical data ingestion guide

A new guide covers loading large historical datasets (millions to billions of rows) into the Data Ingestion API. It explains the design considerations for at-scale loads — streaming, dynamic batching, rate-limiting, foreign-key ordering, checkpointing, and failed-row handling — and provides a self-contained Python reference script you can configure and run. See Historical data ingestion.

Bulk-ingest script

The Python reference script in the historical-data-ingestion guide:

  • Loads one table per run with a minimal CONFIG block (csv_path, object_name, solution_name, operation_type, parallel). To load several tables, run the script once per table.
  • Accepts a folder of CSV part-files as the source, in addition to a single CSV file. Chunked exports are loaded in sorted filename order.
  • Reads gzip-compressed CSVs transparently, detected from the .gz extension.
  • Recognises both empty string (Redshift UNLOAD default) and \N (Snowflake COPY INTO default) as null markers.
  • Fails fast if a CSV row has more cells than the header, instead of silently shifting data into the wrong columns.
  • Tolerates uncastable cells (e.g. "abc" in an integer column) by passing them through to the API as raw strings, so one bad cell becomes one rejected row, not a stopped load.
  • Exposes a parallel toggle for UPSERT loads where a primary key can appear more than once in the source — set it to False so concurrent workers don't apply revisions in an unpredictable order.

The guide also includes warehouse-specific UNLOAD / COPY INTO recipes for Snowflake and Redshift, and a section on re-running the script (resume behaviour, where checkpoint and failed-row files live, how to start fresh).

quote_line and sale: quantity is float, not integer

The quantity field on Quote line and Sale has been corrected from integer to float in both the API Guide and the User Guide dataset pages. The schema has always accepted decimals here; the doc was wrong. Pipelines that were rounding to integer-typed values should switch to sending the value as a number (decimal or whole) without coercion.

Per-table pages now show Nullable alongside Required

Every per-table page in the API Guide and the corresponding dataset pages in the User Guide now include a Nullable column next to the existing Required column. The two flags are independent:

  • Required: Yes — the column's key must appear in every ingest payload. This is the case for every column in the standard schema, so the value is Yes throughout.
  • Nullable: Yes — the value may be sent as null when no data is available for the row.
  • Nullable: No — a non-null value must be sent for every row.

This makes it possible to distinguish "I must send the key but the value can be null" from "I must send a non-null value" at a glance per column. See Schema definition structure for the underlying validation rules.

Add-column endpoint: nullability guidance

The Add a new column section now has a Controlling required-ness and nullability on the new column subsection. It documents that required and nonNull are independent validators in the add-column path and lays out the four valid combinations as a small table. It also calls out the API-enforced mutual exclusion of defaultValue and nonNull — sending both returns 400 Bad Request with the exact error message the API produces, so customers can match the failure in their integration logs.

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated