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:
Type | Name | Description |
string | sessionId | Session ID |
string | invoiceIncrementId | Order increment ID |
array | itemsQty | Array of orderItemIdQty (quantity of items to invoice) |
string | comment | Invoice comment (optional) |
string | 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 |
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);