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

Function updateInvoiceHead

Description

Updates an existing invoice header. Only provided fields are updated - missing fields retain their current values.

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 buyer info and status
  $params = array();
  $params['idInvoice'] = '00000004M1G221031126JF1B44ASNQ6D';
  $params['buyerName'] = 'Nowa Firma Sp. z o.o.';
  $params['buyerAddress'] = 'ul. Nowa 123';
  $params['buyerCity'] = 'Kraków';
  $params['status'] = 'AKTYWNA';
  
  $ret = $udds->updateInvoiceHead($params);
  
  // $ret['status'] == 'OK' on success
  // $ret['idInvoice'] = invoice ID
  // $ret['number'] = invoice number (unchanged)
  // $ret['updatedFields'] = list of fields that were updated

Example: change payment terms only

  $params = array();
  $params['idInvoice'] = '...';
  $params['paymentMethod'] = 'gotówka';
  $params['paymentDueDate'] = '2026-03-15';
  $params['paymentDueDateText'] = 'płatne przy odbiorze';
  
  $ret = $udds->updateInvoiceHead($params);
  // Only payment fields are updated

Example: change currency

  $params = array();
  $params['idInvoice'] = '...';
  $params['currency'] = 'EUR';
  
  $ret = $udds->updateInvoiceHead($params);
  // Exchange rate is automatically fetched and updated
  // NOTE: Existing items are NOT recalculated! 
  // Change currency only on invoices without items.

Returns

Success response

{
  "status": "OK",
  "idInvoice": "00000004M1G221031126JF1B44ASNQ6D",
  "number": "FV/0001/02/2026",
  "updatedFields": {
    "buyerName": "Nowa Firma Sp. z o.o.",
    "buyerAddress": "ul. Nowa 123",
    "buyerCity": "Kraków",
    "status": "AKTYWNA"
  },
  "errors": []
}

Error response

{
  "status": "ERROR",
  "errors": [
    { "code": 1003, "message": "Nie można modyfikować faktury wysłanej do KSEF (numer: 123456)" }
  ]
}

Error codes

CodeDescription
1001Missing idInvoice parameter
1002Invoice not found
1003Invoice already sent to KSEF (cannot modify)
1004Invalid dictionary value (currency, status, template, calculationType)
1005Invalid date format (must be YYYY-MM-DD)
1006Forbidden field (documentType, relatedDocumentId cannot be changed)
1007Database error

Related endpoints