--- layout: m1x_soap title: Invoice Create ---
Aliases:
Allows you to create a new invoice for an order.
Aliases:
Arguments:
| Type | Name | Description |
|---|---|---|
| string | sessionId |
Session ID |
| string |
orderIncrementId |
Order increment ID |
| array | itemsQty |
Array of orderItemIdQty (quantity of items to invoice) |
| string |
comment |
Invoice comment (optional) |
| string |
email |
Send invoice on email (optional) |
| string |
includeComment |
Include comments in email (optional) |
Returns:
| Type | Description |
|---|---|
| string | ID of the created invoice |
The orderItemIdQty content is as follows:
| Type | Name | Description |
|---|---|---|
| int | order_item_id |
Order item ID |
| double | qty |
Quantity |
$client = new SoapClient('http://magentohost/api/soap/?wsdl');
// If somestuff requires api authentification,
// then get a session token
$session = $client->login('apiUser', 'apiKey');
$result = $client->call(
$session,
'sales_order_invoice.create',
array('orderIncrementId' => '200000008', array('order_item_id' => '15', 'qty' => '1'))
);
var_dump ($result);
// If you don't need the session anymore
//$client->endSession($session);
$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
$qty = array(
array('order_item_id' => '15', 'qty' => '1')
);
$invoiceIncrementId = $proxy->salesOrderInvoiceCreate(
$sessionID,
'200000008',
$qty
);
var_dump($invoiceIncrementId);
$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('order_item_id' => 15, 'qty' => '1'), 'comment' => null,
'email' => null,
'includeComment' => null
));
var_dump($result->result);