Проект

Общее

Профиль

API - Счета на оплату » История » Редакция 5

Редакция 4 (Александр Кварацхелия, 18.04.2014 17:30) → Редакция 5/6 (Александр Кварацхелия, 18.04.2014 17:53)

h1. API - Счета на оплату

{{>toc}}

h2. Ресурс: Счет на оплату

Доступ через основной интерфейс Неба: "Продажи" > "Счета на оплату".

Все операции в рамках работы со счетами на оплату требуют [[API#Аутентификация-внешнего-приложения|аутентификации]] и [[API#Рабочая-организация|установки рабочей организации]].

h3. Модель счета на оплату

<pre>
<code class="json">
{
"id": 1234,
"num": "325",
"date": "18.04.2014",
"contragent": {"id": 1234},
"contract": null,
"sclad": null,

"account_for_transfer": {"id": 1234},

"nds_included": true,
"rows": [],
"summa": 10000.00,
"comment": "Комментарий"
}
</code>
</pre>

* @id@ - идентификатор счета на оплату
* @num@ - номер счета (макс. 50 символов, необязательно). Если номер счета не указан, система попытается сгенерировать номер сама
* @date@ - дата выставления счета в формате "dd.mm.yyyy". Если дата счета не указана, то система подставляет текущую дату (согласно сервера Неба)
* @contragent@ - ссылка на контрагента (минимально <code class="json">{"id": 1234}</code> или <code class="json">null</code>)
* @contract@ - ссылка на договор с контрагентом (минимально <code class="json">{"id": 1234}</code> или <code class="json">null</code>)
* @sclad@ - [[|Склад]], с которого будет выполняться отгрузка товара (минимально <code class="json">{"id": 1234}</code> или <code class="json">null</code>)
* @account_for_transfer@ - [[|Банковский счет организации]], на который должна поступить оплата (минимально <code class="json">{"id": 1234}</code> или <code class="json">null</code>)
* @nds_included@ - true/false в зависимости, включен ли НДС в цену или нет (по умолчанию, true)
* @summa@ - общая сумма по документу
* @comment@ - комментарий к счету (необязательно)

h3. Модель строки счета на оплату

<pre>
<code class="json">
{
"nomenclature": {"id": 1234},
"name_ex": null,
"count": 1,
"price": 3000.00,
"NDS_rate": {"id": 1},
"NDS_sum": 457.63,
"summa": 3000.00
}
</code>
</pre>

* @nomenclature@ - обязательная ссылка на объект номенклатуры
* @name_ex@ - расширенное название позиции номенклатуры (только для услуг) или null,
* @count@ - количество
* @price@ - цена
* @NDS_rate@ - ставка НДС (объект вида <code class="json">{"id": 1234}</code>, обязательно)
* @NDS_sum@ - сумма НДС по строке
* @summa@ - сумма по строке



h3. Операции

*name*: Получение списка
*desc*: Возвращает список счетов на оплату из текущей рабочей организации
*url*: @/buh/invoice-for-payment-doc/list@
*params*: Стандартные параметры операции [[API#Операция-LIST|LIST]]
*return* список моделей

*name*: Чтение одного объекта
*desc*: Возвращает счет на оплату по указанному первичному ключу
*url*: @/buh/invoice-for-payment-doc/read@
*params*: без параметров для получения нового (пустого) объекта; @id@ - для существующего объекта

*name*: Создание
*desc*: Создает новый счет на оплату в рабочей организации
*url*: @/buh/invoice-for-payment-doc/create@
*params*: модель счета на оплату без указанного @id@
*return*: <code class="json">{"success": true, "data": {"id": 1234}}</code>

*name*: Изменение
*desc*: Изменяет данные счета на оплату в рабочей организации
*url*: @/buh/invoice-for-payment-doc/update@
*params*: модель счета на оплату с указанным @id@

*name*: Удаление
*desc*: Удаляет счет на оплату с указанным id (см. [[API#Операция-DELETE|DELETE]])
*url*: @/buh/invoice-for-payment-doc/delete@
*params*: модель счета на оплату, либо объект <code class="json">{"id": 123}</code>.

*name*: Печать счета на оплату
*desc*: Формирует файл печатной формы для счета на оплату
*url*: @/core/reports/run@
*type*: GET
*params*: @report_code=InvoiceForPayment@ и @id=1234@, где 1234 - идентификатор счета на оплату, который необходимо получить
*return*: объект вида <code class="json">{"success": true, "data": {"end_file_path": "/media/downloads/reports/SchetNaOplatu5835179a-c700-11e3-a015-5404a6a46ef3.xlsx"}}</code>, где в @data.end_file_path@ содержится относительный путь до подготовленного файла со счетом на оплату (путь представлен относительно https://nebopro.ru/)

123 }</code>.

h3. Пример создания счета на оплату

Предположим, в рабочей организации мы хотим создать счет на оплату со следующими параметрами:

* Идентификатор контрагента: 21184
* Учета по договорам с контрагентом - нет
* Учета по складам - нет
* Адрес доставки неизвестен
* Идентификатор счета для зачисления средств: 2330

В табличной части счета на оплату указываются следующие параметры:

* Одна позиция для услуги с идентификатором 15341 с текстом "Оплата аренды сервиса за март 2014 года" (наименование услуги в справочнике "Оплата аренды сервиса")
* Одна позиция для товара с идентификатором 15340 (наименование товара в справочнике "Пакет для сдачи отчетности")
* Одна позиция для услуги с идентификатором 15342 (наименование услуги в справочнике "Расширенная консультация специалиста")

Все позиции в счете не облагаются НДС

Объект создаваемого счета на оплату в этом случае будет выглядеть следующим образом:
<pre>
<code class="json">
{
"num": "1000",
"date": "01.04.2014",
"contragent": {"id": 21184},
"account_for_transfer": {"id": 2330},

"rows": [
{
"nomenclature": {"id": 15341},
"name_ex": "Оплата аренды сервиса за март 2014 года",
"count": 1,
"price": 500.00,
"NDS_rate": {"id": 3},
"NDS_sum": 0.00,
"summa": 500.00
},
{
"nomenclature": {"id": 15340},
"count": 1,
"price": 100.00,
"NDS_rate": {"id": 3},
"NDS_sum": 0.00,
"summa": 100.00
},
{
"nomenclature": {"id": 15342},
"count": 1,
"price": 50.10,
"NDS_rate": {"id": 3},
"NDS_sum": 0.00,
"summa": 50.10
}
],
"summa": 650.10
}
</code>
</pre>

Для создания счета необходимо отправить запрос следующего вида:

!invoice-sample.png!