Documentation

crm.invoice.add

crm.invoice.add(fields)

Creates new invoice. When buyer/seller requisite details must be included into the invoice (because a company can have several), use the method crm.requisite.link.register.

The created invoice must contain buyer and seller companies счёте:
UF_COMPANY_ID, in case of buyer - a company, or UF_CONTACT_ID, when buyer - a contact.
UF_MYCOMPANY_ID - seller.

The identifiers, specified in the crm.requisite.link.register and in the created invoice must match to buyer and seller.

Parameters

Note: to find out the required field format, execute the method crm.invoice.fields to view the retrieved field format.
Parameter Description
fields Set of fields - is an array (“updated field"=>”value”[, ...]), containing values of the invoice fields.

Example 1

	var current = new Date();
	var nextMonth = new Date();
	nextMonth.setMonth(current.getMonth() + 1);
	
	var date2str = function(d)
	{
		return d.getFullYear() + '-' + paddatepart(1 + d.getMonth()) + '-' + paddatepart(d.getDate()) + 'T' + paddatepart(d.getHours())
			+ ':' + paddatepart(d.getMinutes()) + ':' + paddatepart(d.getSeconds()) + '+03:00';
	};
	
	var paddatepart = function(part)
	{
		return part >= 10 ? part.toString() : '0' + part.toString();
	};
	
	BX24.callMethod(
		"crm.invoice.add",
		{
			"fields": {
            "ORDER_TOPIC": "Invoice for a legal entity",
            "STATUS_ID": "P",
            "DATE_INSERT": date2str(current),
            "PAY_VOUCHER_DATE": date2str(current),
            "PAY_VOUCHER_NUM": "876",
            "DATE_MARKED": date2str(current),
            "REASON_MARKED": "Paid immediately.",
            "COMMENTS": "comment",
            "USER_DESCRIPTION": "client comments",
            "DATE_BILL": date2str(current),
            "DATE_PAY_BEFORE": date2str(nextMonth),
            "RESPONSIBLE_ID": 1,
            "UF_DEAL_ID": 10,
            "UF_COMPANY_ID": 5,
            "UF_CONTACT_ID": 2,
            "PERSON_TYPE_ID": 2,
            "PAY_SYSTEM_ID": 6,
            "INVOICE_PROPERTIES": {
                "COMPANY": "Advanced Technology LLC",                               // Company name
                "COMPANY_ADR": "687, New Broadway, London, A5 2XA",                 // Legal address
                "REG_ID": "17863734634",                                            // Company registration number
                "CONTACT_PERSON": "Jhon Smith",                                  // Contact person
                "EMAIL": "pr@logistics-north.com",                                  // E-Mail
                "PHONE": "8 (495) 234-54-32",                                       // Phone
                "FAX": "",                                                          // Fax
                "ZIP": "",                                                          // Postal code
                "CITY": "",                                                         // City
                "LOCATION": "",                                                     // Location
                "ADDRESS": ""                                                       // Delivery address
            },
            "PRODUCT_ROWS": [
                {"ID": 0, "PRODUCT_ID": 438, "PRODUCT_NAME": "Product 01", "QUANTITY": 1, "PRICE": 100},
                {"ID": 0, "PRODUCT_ID": 515, "PRODUCT_NAME": "Product 77", "QUANTITY": 1, "PRICE": 118}
            ]
        }
    },
    function(result)
    {
        if(result.error())
            console.error(result.error());
        else
            console.info("Invoice ID = " + result.data() + " has been created.");
    }
);

Example 2

var current = new Date();
	var nextMonth = new Date();
	nextMonth.setMonth(current.getMonth() + 1);
	
	var date2str = function(d)
	{
		return d.getFullYear() + '-' + paddatepart(1 + d.getMonth()) + '-' + paddatepart(d.getDate()) + 'T' + paddatepart(d.getHours())
			+ ':' + paddatepart(d.getMinutes()) + ':' + paddatepart(d.getSeconds()) + '+03:00';
	};
	
	var paddatepart = function(part)
	{
		return part >= 10 ? part.toString() : '0' + part.toString();
	};
	
	BX24.callMethod(
		"crm.invoice.add",
		{
			"fields": {
            "ORDER_TOPIC": "Invoice for a private individual",
            "STATUS_ID": "P",
            "DATE_INSERT": date2str(current),
            "PAY_VOUCHER_DATE": date2str(current),
            "PAY_VOUCHER_NUM": "876",
            "DATE_MARKED": date2str(current),
            "REASON_MARKED": "paid",
            "COMMENTS": "comment",
            "USER_DESCRIPTION": "client comments",
            "DATE_BILL": date2str(current),
            "DATE_PAY_BEFORE": date2str(nextMonth),
            "RESPONSIBLE_ID": 1,
            "UF_DEAL_ID": 8,
            "UF_COMPANY_ID": 0,
            "UF_CONTACT_ID": 3,
            "PERSON_TYPE_ID": 1,
            "PAY_SYSTEM_ID": 6,
            "INVOICE_PROPERTIES": {
                "FIO": "John Smith",                                                // full name
                "EMAIL": "boss@yt-soft.net",                                        // E-Mail
                "PHONE": "",                                                        // phone 
                "ZIP": "",                                                          // postal code
                "CITY": "",                                                         // city 
                "LOCATION": "",                                                     // location
                "ADDRESS": ""                                                       // delivery address
            },
            "PRODUCT_ROWS": [
                {"ID": 0, "PRODUCT_ID": 438, "PRODUCT_NAME": "Product 01", "QUANTITY": 1, "PRICE": 100},
                {"ID": 0, "PRODUCT_ID": 515, "PRODUCT_NAME": "Product 77", "QUANTITY": 1, "PRICE": 118}
            ]
        }
    },
    function(result)
    {
        if(result.error())
            console.error(result.error());
        else
            console.info("Invoice ID = " + result.data() + " has been created.");
    }
);

User Comments

User comments are not part of official documentation. Use information provided by other users in the comments at your own risk.

The User Comments section is not to be used as a feature discussion board. Only registered users can post comments. Your comment will be visible once it has been approved by the moderator.
© «Bitrix Inc.», 2001-2021, «Bitrix Inc.», 2021