Създаване на документ чрез API
Функция/команда: | document_create |
Предназначение: | Използва се за създаване на нов документ |
Параметри: |
1.client_number - ЕИК на клиент (използвайте 000000000, 111111111 или 999999999 ако не го знаете)2. type - Вид документ (1 - фактура, 2 - проформа, 3 - стокова разписка, 4 - протокол)3. document - обект, който съдържа полета за:- sum Обща сума в лева - данъчна основа- dds_percent - ДДС % - 0, 9 или 20- null_value - Основание за нулева ставка или ненач. на ДДС - Попълва се само ако ДДС е 0%- payment_method_id - Код на начин на плащане - 1 - в брой. Таблица с други кодове- eshop_id - №/ID на онлайн магазин (незадължително)- order_id - № на поръчка/заявка (незадължително)- order_date - Дата на поръчка/заявка (незадължително)- note - Забележка към документ- paid - Статус на плащане - 1 - платен, 0 - неплатен, 2 - частично платен- kind -Кредитно или дебитно известие - използва се само за фактурите. 1 - за кредитно, 2 - за дебитно известие.- reason - Основание за кредитно или дебитно известие- client_id - ID на клиент- client_name - Име на клиент- client_country_id - Код на държава на клиента- client_place - Населено място на клиент- client_address - Данъчен адрес на клиент- client_dds - ИН по ДДС на клиент- client_face - МОЛ на клиент- client_phone - Телефон на клиент- client_email - Email на клиент- receiver - Име на получател- company_face - МОЛ на доставчик- creator - Съставител на документа- place - Място на сделката - ако не е посочено се използва мястото от данъчния адрес на доставчика- numbers_id - Код на търговски обект - ако не е посочено се използва основния, 1 - за втори, 2 - за трети и т.н. - add_client_to_db - Добавяне на клиента в базата с данни. Въведете 1 и ако клиентът не съществува в номенклатурата с клиенти той ще се добави автоматично. Прави се проверка по ЕИК/ЕГН.- update_quantities - Актуализиране на складовите наличности при ползване на модул "Склад". Въведете 1 ако желаете да се регистрират движения в склада.- rows - Редове на документ. Масив от обекти със следните полета:» name - Име на стока или услуга» quantity - Количество на стока/услуга» measure_id - Мярка на стока/услуга - 70 за брой. За повече информация - 4. ДРУГИ > Таблица с използвани мерни единици» price - Ед. цена на стока/услуга в лева» code - Артикулен номер - използва се задължително ако се ползва модул "Склад" или някоя от следващите две настройки» load_name_from_db - Зареждане на името от базата данни - можете да не подавате името през API, а да се извлича директно от базата данни спрямо подадения артикулен номер. Въведете 1 ако желаете това действие.» load_price_from_db - Зареждане на цената от базата данни - можете да не подавате ед. цена през API, а да се извлича директно от базата данни спрямо подадения артикулен номер. Въведете 1 ако желаете това действие.Допълнителни полета за Invoice - документ на английски език: - invoice_currency_id - Валута за английски език - тук са описани всички възможни валути.- currency_fixing - Фиксинг спрямо лева - по подразбиране е 1.- retail_sum - Обща сума в съответната валутата. Ако се пропусне се изчислява автоматично спрямо фиксинга.
|
Postman пример: | https://fakturirane.eu/api/document_create?client_number=147022197&type=2&document={"sum":"100","payment_method_id":"2","rows":[{"name":"Стока 1", "quantity":"4", "measure_id":"70","price":"10"}]} |
Резултат: |
{
- error - Код на грешка- document - обект със следните полета:- id - ID на документа- number - номера на документа |
Възможни грешки: |
- Не е въведен ЕИК. Можете да използвате 000000000, 111111111 или 999999999 ако не знаете ЕИК на клиента! (501) - Не е подаден последния параметър с детайлите на документа и редовете! (502) - Невалиден вид на документ. Използвайте 1 за фактура/и, 2 за проформа/и, 3 за стокови разписка/и или 4 за протокол/и. (3) |
Забележки: | 1. Ако някое поле свързано с клиента не е зададено в третия параметър на функцията, тогава то се извлича от базата данни в зависимост от въведения ЕИК. 2. Останалата инфорамация за документа (напр. Съставител) се извлича от последно издадения документ. 3. Тази функция не променя складовите наличности ако не се подаде параметър update_quantities = 1 4. Ако създавате документ само в чуждестранна валута, тогава можете да въведете единичните цени в редовете в съответната валута и за фиксинг да зададете 1. 5. В СУПТО може да се създава само проформа-фактура |
Примерен PHP код: |
// Следния код се вмъква в примерния скрипт.
|