Postman collection
Invoices Write

pixiSetInvoiceShippingInformation

Updates the package count, net and gross package weight and shipping vendor of an existing invoice and returns the stored values.

Sets shipping information on a single invoice in table Invoices, identified by InvoiceNr.

  1. The call checks whether an invoice with the given InvoiceNr exists. If not, it returns a status row with Status = 400 and nothing is changed.
  2. It reads the current values of PackageNetWeight, PackageGrossWeight, Packages and ShipVendor.
  3. It updates the invoice. Each field is only overwritten if the matching parameter is not NULL. Parameters that are left out or sent as NULL keep the current value. This allows partial updates, e.g. only the number of packages.
  4. If at least one row was updated, it returns Status = 200 with the stored values of the invoice. Otherwise it returns Status = 500 with the current values.

Notes

  • A field cannot be reset to NULL with this call, because NULL parameters mean "keep current value".
  • ShipVendor is not validated. Any value of up to 3 characters is written as is.
  • Weights are not checked for plausibility, e.g. gross weight smaller than net weight or negative values.
  • The existence check and the reading of the old values use NOLOCK. No explicit transaction is used.
  • In practice the 500 branch only occurs if the invoice is deleted between the check and the update. In that case the row of the 500 result usually contains no data.
  • If several rows share the same InvoiceNr, all of them are updated and all are returned.
  • The column types in the result are taken from the variables declared in the code. The table definition of Invoices is not attached.

Tables used

Invoices · Write
SQL object:
dbo.pipiSetInvoiceShippingInformation
Updated at 2026-10-30