Проект

Общее

Профиль

API - Счета на оплату » История » Версия 5

Александр Кварацхелия, 18.04.2014 17:53

1 1 Александр Кварацхелия
h1. API - Счета на оплату
2
3
{{>toc}}
4
5
h2. Ресурс: Счет на оплату
6
7
Доступ через основной интерфейс Неба: "Продажи" > "Счета на оплату".
8
9
Все операции в рамках работы со счетами на оплату требуют [[API#Аутентификация-внешнего-приложения|аутентификации]] и [[API#Рабочая-организация|установки рабочей организации]].
10
11
h3. Модель счета на оплату
12
13
<pre>
14
<code class="json">
15
{
16
    "id": 1234,
17
    "num": "325",
18
    "date": "18.04.2014",
19 2 Александр Кварацхелия
    "contragent": {"id": 1234},
20
    "contract": null,
21 1 Александр Кварацхелия
    "sclad": null,
22
23
    "account_for_transfer": {"id": 1234},
24
25
    "nds_included": true,
26
    "rows": [],
27
    "summa": 10000.00,
28
    "comment": "Комментарий"
29
}
30
</code>
31
</pre>
32
33
* @id@ - идентификатор счета на оплату
34
* @num@ - номер счета (макс. 50 символов, необязательно). Если номер счета не указан, система попытается сгенерировать номер сама
35 3 Александр Кварацхелия
* @date@ - дата выставления счета в формате "dd.mm.yyyy". Если дата счета не указана, то система подставляет текущую дату (согласно сервера Неба)
36 1 Александр Кварацхелия
* @contragent@ - ссылка на контрагента (минимально <code class="json">{"id": 1234}</code> или <code class="json">null</code>)
37
* @contract@ - ссылка на договор с контрагентом (минимально <code class="json">{"id": 1234}</code> или <code class="json">null</code>)
38
* @sclad@ - [[|Склад]], с которого будет выполняться отгрузка товара (минимально <code class="json">{"id": 1234}</code> или <code class="json">null</code>)
39
* @account_for_transfer@ - [[|Банковский счет организации]], на который должна поступить оплата (минимально <code class="json">{"id": 1234}</code> или <code class="json">null</code>)
40
* @nds_included@ - true/false в зависимости, включен ли НДС в цену или нет (по умолчанию, true)
41
* @summa@ - общая сумма по документу
42
* @comment@ - комментарий к счету (необязательно)
43
44
h3. Модель строки счета на оплату
45
46
<pre>
47
<code class="json">
48
{
49 2 Александр Кварацхелия
    "nomenclature": {"id": 1234},
50
    "name_ex": null,
51 1 Александр Кварацхелия
    "count": 1,
52
    "price": 3000.00,
53
    "NDS_rate": {"id": 1},
54
    "NDS_sum": 457.63,
55
    "summa": 3000.00
56
}
57
</code>
58
</pre>
59
60 2 Александр Кварацхелия
* @nomenclature@ - обязательная ссылка на объект номенклатуры
61
* @name_ex@ - расширенное название позиции номенклатуры (только для услуг) или null,
62
* @count@ - количество 
63
* @price@ - цена
64
* @NDS_rate@ - ставка НДС (объект вида <code class="json">{"id": 1234}</code>, обязательно)
65
* @NDS_sum@ - сумма НДС по строке
66
* @summa@ - сумма по строке
67 1 Александр Кварацхелия
68
h3. Операции
69
70 2 Александр Кварацхелия
*name*: Получение списка
71
*desc*: Возвращает список счетов на оплату из текущей рабочей организации
72
*url*: @/buh/invoice-for-payment-doc/list@
73 1 Александр Кварацхелия
*params*: Стандартные параметры операции [[API#Операция-LIST|LIST]]
74 2 Александр Кварацхелия
*return* список моделей
75 1 Александр Кварацхелия
 
76 2 Александр Кварацхелия
*name*: Чтение одного объекта
77
*desc*: Возвращает счет на оплату по указанному первичному ключу
78
*url*: @/buh/invoice-for-payment-doc/read@
79 1 Александр Кварацхелия
*params*: без параметров для получения нового (пустого) объекта; @id@ - для существующего объекта
80
81 2 Александр Кварацхелия
*name*: Создание
82
*desc*: Создает новый счет на оплату в рабочей организации
83
*url*: @/buh/invoice-for-payment-doc/create@
84 1 Александр Кварацхелия
*params*: модель счета на оплату без указанного @id@
85 3 Александр Кварацхелия
*return*: <code class="json">{"success": true, "data": {"id": 1234}}</code>
86 1 Александр Кварацхелия
87 2 Александр Кварацхелия
*name*: Изменение
88
*desc*: Изменяет данные счета на оплату в рабочей организации
89
*url*: @/buh/invoice-for-payment-doc/update@
90
*params*: модель счета на оплату с указанным @id@
91 1 Александр Кварацхелия
92 2 Александр Кварацхелия
*name*: Удаление 
93
*desc*: Удаляет счет на оплату с указанным id (см. [[API#Операция-DELETE|DELETE]])
94
*url*: @/buh/invoice-for-payment-doc/delete@
95 5 Александр Кварацхелия
*params*: модель счета на оплату, либо объект <code class="json">{"id": 123}</code>.
96
97
*name*: Печать счета на оплату
98
*desc*: Формирует файл печатной формы для счета на оплату
99
*url*: @/core/reports/run@
100
*type*: GET
101
*params*: @report_code=InvoiceForPayment@ и @id=1234@, где 1234 - идентификатор счета на оплату, который необходимо получить
102
*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/)
103
104 3 Александр Кварацхелия
105
106
h3. Пример создания счета на оплату
107
108
Предположим, в рабочей организации мы хотим создать счет на оплату со следующими параметрами:
109
110
* Идентификатор контрагента: 21184
111
* Учета по договорам с контрагентом - нет
112
* Учета по складам - нет
113
* Адрес доставки неизвестен
114
* Идентификатор счета для зачисления средств: 2330
115
116
В табличной части счета на оплату указываются следующие параметры:
117
118
* Одна позиция для услуги с идентификатором 15341 с текстом "Оплата аренды сервиса за март 2014 года" (наименование услуги в справочнике "Оплата аренды сервиса")
119
* Одна позиция для товара с идентификатором 15340 (наименование товара в справочнике "Пакет для сдачи отчетности")
120
* Одна позиция для услуги с идентификатором 15342 (наименование услуги в справочнике "Расширенная консультация специалиста")
121
122
Все позиции в счете не облагаются НДС
123
124 4 Александр Кварацхелия
Объект создаваемого счета на оплату в этом случае будет выглядеть следующим образом:
125 3 Александр Кварацхелия
<pre>
126
<code class="json">
127
{
128
    "num": "1000",
129
    "date": "01.04.2014",
130
    "contragent": {"id": 21184},
131
    "account_for_transfer": {"id": 2330},
132
133
    "rows": [
134
        {
135
            "nomenclature": {"id": 15341},
136
            "name_ex": "Оплата аренды сервиса за март 2014 года",
137
            "count": 1,
138
            "price": 500.00,
139
            "NDS_rate": {"id": 3},
140
            "NDS_sum": 0.00,
141
            "summa": 500.00
142
        },
143
        {
144
            "nomenclature": {"id": 15340},
145
            "count": 1,
146
            "price": 100.00,
147
            "NDS_rate": {"id": 3},
148
            "NDS_sum": 0.00,
149
            "summa": 100.00
150
        },
151
        {
152
            "nomenclature": {"id": 15342},
153
            "count": 1,
154
            "price": 50.10,
155
            "NDS_rate": {"id": 3},
156
            "NDS_sum": 0.00,
157
            "summa": 50.10
158
        }
159
    ],
160
    "summa": 650.10
161
}
162
</code>
163 1 Александр Кварацхелия
</pre>
164 4 Александр Кварацхелия
165
Для создания счета необходимо отправить запрос следующего вида:
166
167
!invoice-sample.png!