m openmage

OpenMage LTS Developer Documentation

Invoice Create

Edit this page on GitHub

Module: Mage_Sales

Resource: sales_order_invoice

Aliases:

Method:

Allows you to create a new invoice for an order.

Aliases:

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
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

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);