UDDS OX API - documentation ver.2.5 (2023-04-07) ( www.dlaoperatora.pl )

Function updateInvoiceItem

Description

Updates an existing invoice line item. Automatically recalculates values and updates invoice totals.

Calculation method

Important notes

Arguments

Example

  require_once ( 'classUddsOx.php' ) ;

  $udds = new classUddsOx ;
  $udds->customerCode = [your_customerCode] ;
  $udds->login = [your_login] ;
  $udds->password = [your_password] ;
  $udds->serverUrl = 'http://api.dlaoperatora.pl/udds/' ;
  
  // Update item - change name and quantity
  $params = array();
  $params['idItem'] = 'ABCD1234EFGH5678IJKL9012MNOP3456';
  $params['name'] = 'Usługa konsultingowa - ZMIANA';
  $params['quantity'] = 200;       // Change to 2 pieces (×100)
  
  $ret = $udds->updateInvoiceItem($params);
  
  // $ret['status'] == 'OK' on success
  // $ret['idItem'] = item ID
  // $ret['idInvoice'] = parent invoice ID
  // $ret['calculatedValues'] = recalculated prices and values

Example: change only the price

  // Update just the price, keep everything else
  $params = array();
  $params['idItem'] = '...';
  $params['priceNetto'] = 75000;   // Change to 750.00 PLN/unit
  
  $ret = $udds->updateInvoiceItem($params);
  // Quantity, unit, vatRate, name stay unchanged
  // Values are recalculated based on existing quantity + new price

Example: change VAT rate

  // Change VAT rate from 23% to 8%
  $params = array();
  $params['idItem'] = '...';
  $params['vatRate'] = '8';
  
  $ret = $udds->updateInvoiceItem($params);
  // All values recalculated with new VAT rate

Returns

Success response

{
  "status": "OK",
  "idItem": "ABCD1234EFGH5678IJKL9012MNOP3456",
  "idInvoice": "00000004M1G221031126JF1B44ASNQ6D",
  "calculatedValues": {
    "priceNettoPLN": 50000,
    "priceBruttoPLN": 61500,
    "valueNettoPLN": 100000,
    "valueBruttoPLN": 123000,
    "valueVatPLN": 23000,
    "priceNettoEUR": 50000,
    "priceBruttoEUR": 61500,
    "valueNettoEUR": 100000,
    "valueBruttoEUR": 123000,
    "valueVatEUR": 23000
  },
  "errors": []
}

Error response

{
  "status": "ERROR",
  "errors": [
    { "code": 1002, "message": "Pozycja o ID 'XXX' nie istnieje" }
  ]
}

Error codes

CodeDescription
1001Missing idItem parameter
1002Item not found
1003Invoice not found (parent invoice deleted?)
1004Invoice already sent to KSEF (cannot modify)
1005Invalid dictionary value (unit, vatRate)
1006Manual mode requires all value fields
1007Database error

Related endpoints