Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Module: Mage_Sales

Resource: sales_order_invoice

Aliases:

  • order_invoice
Method:
  • sales_order_invoice.create (SOAP V1)
  • salesOrderInvoiceCreate (SOAP V2)

Allows you to create a new invoice for an order.

Aliases:

  • order_invoice.create

Arguments:

TypeNameDescription
stringsessionIdSession ID
stringinvoiceIncrementIdOrder increment ID
arrayitemsQtyArray of orderItemIdQty (quantity of items to invoice)
stringcommentInvoice comment (optional)
stringemailSend invoice on email (optional)
stringincludeCommentInclude comments in email (optional)

Returns:

TypeDescription
stringID of the created invoice

The orderItemIdQty content is as follows:

TypeNameDescription
intorder_item_idOrder item ID
doubleqtyQuantity

Examples

Request Example SOAP V1
$client = new SoapClient('http://magentohost/api/soap/?wsdl');

// If somestuff requires API authentication,
// then get a session token
$session = $client->login('apiUser', 'apiKey');

$result = $client->call(
    $session,
    'sales_order_invoice.create',
    array('orderIncrementId' => '200000008', array('15' => '1', '16' => '1')) 
    // orderItemIdQty Array is Keyed with Order Item ID, with Value of qty to invoice
);
var_dump ($result);

// If you don't need the session anymore
//$client->endSession($session);
Request Example SOAP V2
$proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl'); // TODO : change url
$sessionId = $proxy->login('apiUser', 'apiKey'); // TODO : change login and pwd if necessary

//Create invoice for order

// orderItemIdQty Array is Keyed with Order Item ID, with Value of qty to invoice
$qty = array('15' => '1', '16' => '1');

$invoiceIncrementId = $proxy->salesOrderInvoiceCreate(
    $sessionID,
    '200000008',
    $qty
);
var_dump($invoiceIncrementId);
Request Example SOAP V2 (WS-I Compliance Mode)
$proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl');

$sessionId = $proxy->login((object)array('username' => 'apiUser', 'apiKey' => 'apiKey'));

$result = $proxy->salesOrderInvoiceCreate((object)array('sessionId' => $sessionId->result, 'orderIncrementId' => '200000008', 'itemsQty' => array('15' => '1',  '16' => '1'), 'comment' => null,
'email' => null,
'includeComment' => null
));
var_dump($result->result);

Table of contents