Откуцај
ЋИРLATENРУ Пријава

Фискализација веб продавнице: шта се тачно фискализује и када

Продаја преко интернета физичком лицу је промет на мало као и свака друга. Отвара се само питање тренутка.

Ово је наше тумачење прописа, а не правни, порески ни финансијски савет. Пре одлуке проверите код свог књиговође или Пореске управе.

Веб продавница нема пулт, нема касира и нема штампач, али има купце који су физичка лица. То је довољно: онлајн продаја физичком лицу је промет на мало и фискализује се као и свака друга.

Како ми разумемо члан 3 став 4 Закона, седиште обвезника који продаје на мало преко интернета сматра се малопродајним објектом, па се кроз веб продавницу фискализује и продаја фирмама и предузетницима, са њиховим ПИБ-ом на рачуну.

Оно што се стварно разликује јесу три ствари: када се рачун издаје, како стиже до купца и ко притисне дугме. Ниједна од њих није питање да ли рачун постоји.

Када се фискализује поруџбина

Правило је исто као на пулту: рачун се издаје у тренутку промета, а новац примљен пре тога је аванс, који се фискализује кад је примљен (члан 6 став 1 Закона). Продају на даљину пропис не уређује посебно, па је ово наше разумевање, које вреди проверити са књиговођом. Три сценарија вреди држати одвојено, зато што их продавнице стално мешају.

Начин плаћањаКада је новац примљенШта се издаје
Платна картица на сајтуу тренутку успешне ауторизацијеако је роба већ испоручена, рачун за промет; ако тек треба да буде послата, по нашем разумевању аванс, као у трећем реду
Плаћање поузећемкад курир наплати од купцарачун за промет издаје продавац, не курир; тачан тренутак (отпрема или испорука) проверите са књиговођом
Уплата на рачун (предрачун)кад уплата стигне на изводако роба још није испоручена, аванс; рачун за аванс најкасније наредног радног дана од пријема уплате

Трећи ред је онај о коме вреди размислити. Уплата унапред за робу која тек треба да буде послата је, како ми разумемо закон, аванс: рачун за аванс издаје се најкасније наредног радног дана од пријема уплате (члан 11 Правилника), а коначни рачун при промету. Пореска управа је у одговорима на најчешћа питања навела и да се, кад физичко лице уплати цео износ из предрачуна, у моменту промета може издати коначни рачун; ако тако радите, потврдите то са књиговођом.

Поузеће није изузетак. Рачун издаје продавац, не курир: уговор са курирском службом по коме они издају свој документ не замењује ваш фискални рачун. У ком тачно тренутку (при отпреми или при испоруци), пропис посебно не каже, па то договорите са књиговођом.

Како рачун стиже до купца

Ако продајете искључиво преко интернета, фискални рачун се издаје у електронском облику (члан 13 став 3 Правилника о врстама фискалних рачуна). Ако имате и продавницу у објекту, рачун се, како ми разумемо правилник, издаје у штампаном облику (на пример уз пошиљку), а електронски може да се достави само уз сагласност купца, уз штампани, а не уместо њега (члан 13 ст. 1 и 2).

Правило које при том важи јесте да рачун издат у електронском облику уместо QR кода носи адресу за проверу у облику хиперлинка. То је и практично: QR код у мејлу нема ко да скенира кад је телефон већ у руци, а линк се отвара кликом.

По нашем разумевању то значи да адреса за проверу у мејлу треба да буде прави линк који се отвара кликом, а не текст у коме адреса стоји као обичан низ знакова. То је ситница коју је лако прескочити и лако проверити: отворите мејл на телефону и покушајте да кликнете.

Како се продавница повезује са ЕСИР-ом

Веб продавница није ЕСИР. Она је систем који зна шта је продато и коме, а издавање рачуна препушта ЕСИР-у преко интерфејса. У пракси постоје два начина.

Готов додатак

За WooCommerce и сличне платформе постоји додатак који сам разговара са касом. Типична поставка тражи четири податка:

  • адресу ЕСИР-а,
  • АПИ кључ,
  • статус поруџбине који окида издавање рачуна,
  • мапирање начина плаћања из продавнице на седам фискалних начина плаћања.

Трећа ставка је она о којој вреди размислити пре него што се стисне „сачувај“. Ако фискализацију окида статус „обрада“, а поруџбина плаћена поузећем тај статус добије у тренутку наручивања, издали сте рачун пре него што сте видели новац. За поузеће, како ми разумемо, одговара статус из каснијег корака, при отпреми или при испоруци, а који од та два тренутка важи, проверите са књиговођом. За картицу одговара статус који добијате при успешној наплати, уз рачун за аванс ако роба још није испоручена.

REST АПИ

Ако продавница није на готовој платформи, иста ствар се ради директно преко АПИ-ја. Захтев носи ставке, количине, цене, пореске ознаке и начин плаћања, а одговор носи ПФР број, бројач, журнал и линк за проверу.

POST /api/v1/invoices
Authorization: Bearer VAS_API_KLJUC
Content-Type: application/json

{"invoiceType":"NORMAL","transactionType":"SALE",
 "items":[{"name":"Мајица","labels":["Ђ"],"quantity":1,"unitPrice":2490.00}],
 "payments":[{"paymentType":"CARD","amount":2490.00}]}

Пореске ознаке по производу

Ово је најчешћи узрок погрешних рачуна из веб продавница. Продавница по правилу зна цену, али не зна пореску ознаку, зато што њој она није требала.

Решење је да ознака постане податак производа, једнако као цена. У WooCommerce се то ради кроз мета поље, а у сопственом систему кроз колону у табели производа. Ако ознака недостаје, каса или одбија рачун или подразумева нешто, а подразумевано је овде увек погрешно за бар неки део асортимана.

Шта се дешава кад нешто пође наопако

Ово је део који се обично не осмисли, па се решава уживо. Три ситуације вреди покрити унапред:

  • Процесор није доступан. АПИ мора да врати јасну грешку и рачун тада није издат. Продавница не сме да претпостави успех. Поруџбина остаје означена као нефискализована, а покушај се понавља.
  • Одговор се изгуби после успеха. Захтев је прошао, мрежа је пукла на повратку, продавница мисли да није успело и шаље поново. Без заштите то значи два фискална рачуна за једну поруџбину. Заштита се зове идемпотентност: захтев носи кључ, а каса на исти кључ враћа исти рачун уместо да изда нов.
  • Купац отказује поруџбину. Издати рачун се не брише него се исправља рефундацијом, која носи референтни број оригинала и ИД купца.

Питање које вреди поставити добављачу. „Шта се деси ако ваш АПИ врати грешку 502 усред наплате, и шта ако мој сервер пошаље исти захтев двапут.“ Одговор на то друго питање је идемпотентни кључ. Ако га нема, дуплирани фискални рачуни су питање времена.

Како то ради у Откуцају

Откуцај има REST АПИ v1 са Bearer кључевима и готов WooCommerce додатак. Додатак у сваку поруџбину уписује ПФР број и линк за проверу, а пореска ознака по производу се задаје кроз мета поље otkucaj_label.

АПИ прима идемпотентни кључ, па изгубљен одговор не може да произведе други рачун. Грешке су предвидиве и увек истог облика, а 502 значи да процесор није одговорио и да рачун није издат.

Детаљи су у АПИ документацији.

Откуцај је ЕСИР одобрен код Пореске управе, евиденциони број 1667, класификација 3. Нов налог почиње у тест окружењу, где рачуни нису фискални; продукција тражи сопствени безбедносни елемент и ПАК.

Извори

  • Закон о фискализацији („Службени гласник РС“ бр. 153/2020, 96/2021, 138/2022 и 80/2026), чланови 3, 5, 6 и 8.
  • Пореска управа Републике Србије, Техничко упутство за административни и технички преглед функционалности ЕСИР или Л-ПФР, одељак о електронској достави рачуна и хиперлинку уместо QR кода.
  • Правилник о врстама фискалних рачуна, типовима трансакција, начинима плаћања, позивању на број другог документа и појединостима осталих елемената фискалног рачуна, чланови 2, 10, 11 и 13.

Пробајте Откуцај у демо режиму

Каса ради у прегледачу, демо рачуни немају фискалну важност и служе за пробу и обуку. Кад за свој пословни простор добијете безбедносни елемент и повежете ПФР, пребаците режим.

Затражите приступ