API - Счета на оплату » История » Редакция 3
Редакция 2 (Александр Кварацхелия, 18.04.2014 16:58) → Редакция 3/6 (Александр Кварацхелия, 18.04.2014 17:27)
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". Если дата счета не указана, то система подставляет текущую дату (согласно сервера Неба) "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>.
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>
{{>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". Если дата счета не указана, то система подставляет текущую дату (согласно сервера Неба) "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>.
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>