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

Function createInvoiceItem

Description

Adds a line item to an existing invoice. Automatically calculates 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/' ;
  
  // Add item to existing invoice
  $params = array();
  $params['idInvoice'] = '00000004M1G221031126JF1B44ASNQ6D';
  $params['name'] = 'Usługa konsultingowa';
  $params['quantity'] = 100;       // 1 piece (×100)
  $params['unit'] = 'szt.';
  $params['vatRate'] = '23';
  $params['priceNetto'] = 50000;   // 500.00 PLN (in grosze)
  
  $ret = $udds->createInvoiceItem($params);
  
  // $ret['status'] == 'OK' on success
  // $ret['id'] = item ID
  // $ret['idInvoice'] = invoice ID
  // $ret['calculatedValues'] = calculated prices and values

Example with fractional quantity

  // 0.5 kg of product at 32 PLN/kg net
  $params = array();
  $params['idInvoice'] = '...';
  $params['name'] = 'Produkt na wagę';
  $params['quantity'] = 50;        // 0.5 kg (×100)
  $params['unit'] = 'kg';
  $params['vatRate'] = '23';
  $params['priceNetto'] = 3200;    // 32.00 PLN/kg (in grosze)
  
  // Result:
  // valueNetto = 3200 × 50 / 100 = 1600 (16.00 PLN)
  // valueVat = round(1600 × 23 / 100) = 368 (3.68 PLN)
  // valueBrutto = 1600 + 368 = 1968 (19.68 PLN)

Returns

Success response

{
  "status": "OK",
  "id": "ABCD1234EFGH5678IJKL9012MNOP3456",
  "idInvoice": "00000004M1G221031126JF1B44ASNQ6D",
  "calculatedValues": {
    "priceNetto": 50000,
    "priceBrutto": 61500,
    "valueNetto": 50000,
    "valueBrutto": 61500,
    "valueVat": 11500
  },
  "errors": []
}

Error response

{
  "status": "ERROR",
  "id": null,
  "errors": [
    { "code": 1001, "message": "Pole Nazwa towaru/usługi (name) jest wymagane" }
  ]
}

Error codes

CodeDescription
1001Missing required field
1002Invalid dictionary value (unit, vatRate)
1003Invoice not found
1004Invoice already sent to KSEF (cannot modify)
1005Manual mode requires all value fields
1006Database error

Related endpoints