WooCommerce Plugin
eFiskalizacija for WooCommerce automatski fiskalizuje narudžbine iz vaše WooCommerce prodavnice putem eFiskalizacija.cloud API-ja. Plugin podržava sve načine plaćanja, automatski retry, PDF račune i refund fiskalizaciju.
Zahtevi
| Zahtev | Minimum | Preporučeno |
|---|---|---|
| WordPress | 6.0 | 6.7+ |
| WooCommerce | 7.0 | 9.0+ |
| PHP | 8.1 | 8.3+ |
| Valuta | RSD (srpski dinar) - obavezno | |
| eFiskalizacija nalog | API Key + API Secret (kako dobiti) | |
Instalacija
Opcija 1: WordPress.org (preporučeno)
- U WordPress admin panelu idite na Dodaci → Dodaj novi
- Pretražite "eFiskalizacija"
- Kliknite Instaliraj pa Aktiviraj
Opcija 2: Ručni upload
- Preuzmite ZIP fajl sa GitHub Releases
- U WordPress admin panelu idite na Dodaci → Dodaj novi → Otpremi dodatak
- Izaberite preuzeti ZIP fajl i kliknite Instaliraj
- Aktivirajte plugin
Konfiguracija
Nakon aktivacije, podešavanja se nalaze u WooCommerce → Podešavanja → Integracija → eFiskalizacija.
Konekcija
| Polje | Opis |
|---|---|
| Omogući fiskalizaciju | Uključi/isključi automatsku fiskalizaciju narudžbina |
| API Key | Vaš API ključ (format: efisk_ID_HASH) |
| API Secret | 64-karakter HMAC secret za potpisivanje zahteva |
| Okruženje | Produkcija ili Sandbox (test) - koristite sandbox za testiranje |
| Test konekcije | Dugme za proveru da li su kredencijali ispravni |
Fiskalizacija
| Polje | Default | Opis |
|---|---|---|
| Ime kasira | Naziv sajta | Identifikator kasira na fiskalnom računu |
| Automatski retry | Uključeno | Automatsko ponavljanje neuspelih fiskalizacija (WP-Cron, svakog sata) |
| Max pokušaja | 4 | Maksimalan broj ponovnih pokušaja (1-10) |
Mapiranje plaćanja
Svaki WooCommerce način plaćanja se mapira na odgovarajući VSDC tip:
| WooCommerce | Default VSDC tip | Opis |
|---|---|---|
| PayPal | Kartica | Online plaćanje karticom |
| Stripe | Kartica | Online plaćanje karticom |
| Pouzeće (COD) | Gotovina | Plaćanje kuriru pri preuzimanju |
| Virman (BACS) | Virman | Bankarski transfer |
| Ostali | Kartica | Podrazumevano za nepoznate metode |
Svi tipovi se mogu promeniti u podešavanjima prema vašim potrebama. Dostupni VSDC tipovi: Gotovina, Kartica, Virman, Vaučer, Instant (IPS), Drugo.
PDV podešavanja
| Polje | Opis |
|---|---|
| PDV klasa (oslobođen) | WooCommerce poreska klasa za stavke oslobođene PDV-a (0%) |
| PDV klasa (nije u PDV) | WooCommerce poreska klasa za stavke van sistema PDV-a (0%) |
Kupac i notifikacije
| Polje | Default | Opis |
|---|---|---|
| PIB polje | billing_pib | Naziv custom polja za PIB kupca na checkout-u |
| Šalji podatke kupca | Ne | Uključi podatke kupca na fiskalni račun |
| Email PDF kupcu | Ne | Automatski pošalji PDF fiskalnog računa na email kupca |
Kako radi
Plugin prati promene statusa WooCommerce narudžbina i automatski pokreće fiskalizaciju:
- Kupac pravi narudžbinu - standardni WooCommerce checkout
- Plaćanje je potvrđeno - status prelazi u "Processing" ili "Completed"
- Plugin detektuje promenu - hook na
woocommerce_order_status_changed - Priprema podatke - mapira stavke, PDV, način plaćanja, kupca
- Šalje na eFiskalizacija API - sa HMAC potpisom i idempotency ključem
- API komunicira sa VSDC - Poreska uprava Srbije
- Rezultat se čuva - PFR broj, QR kod, status na narudžbini
Koji statusi pokreću fiskalizaciju?
Fiskalizacija se pokreće kada narudžbina pređe u status Processing ili Completed, pod uslovom da je plaćanje potvrđeno. Za pouzeće (COD) i virman (BACS), narudžbina se smatra plaćenom čim dobije odgovarajući status.
Automatski retry
Ako fiskalizacija ne uspe (mrežna greška, VSDC nedostupan), plugin automatski pokušava ponovo:
- Učestalost: Jednom na sat (WP-Cron)
- Batch: Do 10 narudžbina po ciklusu
- Max pokušaja: Konfigurisano u podešavanjima (default: 4)
- Ručni retry: Dugme "Pokušaj ponovo" na stranici narudžbine
*/15 * * * * wget -q -O - https://vasajt.rs/wp-cron.php
Refund fiskalizacija
Kada kupac traži povraćaj, potrebno je fiskalizovati i refund:
- Otvorite narudžbinu u WooCommerce admin panelu
- Napravite standardni WooCommerce refund
- U eFiskalizacija meta box-u kliknite "Fiskalizuj refund"
- Plugin kreira refund račun sa referencom na originalni PFR
- Refund PFR broj se prikazuje u meta box-u
PDF računi
Nakon uspešne fiskalizacije, PDF račun je dostupan na stranici narudžbine:
- Preuzimanje: Dugme "Preuzmi PDF" direktno preuzima fajl
- Email kupcu: Dugme "Pošalji PDF" šalje račun na email kupca
- Automatski email: Ako je opcija uključena u podešavanjima, PDF se šalje automatski nakon fiskalizacije
- Refund PDF: Zasebno dugme za preuzimanje PDF-a refund računa
Webhook sinhronizacija
Plugin registruje webhook endpoint na adresi:
https://vasajt.rs/wc-api/efiskalizacija_webhook
Ovaj endpoint prima notifikacije od eFiskalizacija platforme i automatski ažurira status narudžbine. Podržani eventi:
| Event | Akcija |
|---|---|
invoice.fiscalized | Ažurira PFR broj, QR kod i status na narudžbini |
invoice.failed | Beleži grešku i error kod na narudžbini |
Pregled u admin panelu
Lista narudžbina
Na listi narudžbina (WooCommerce → Narudžbine) se prikazuje kolona PFR sa statusom fiskalizacije:
- ✓ Zelena kvačica - uspešno fiskalizovano (sa PFR brojem)
- ✗ Crveni X - fiskalizacija neuspela
- – Crtica - čeka na fiskalizaciju
Stranica narudžbine
Na svakoj narudžbini se prikazuje eFiskalizacija meta box sa detaljima:
- PFR broj sa dugmetom za kopiranje
- Link na QR verifikaciju
- Dugmad za PDF, email, retry i refund
- Broj pokušaja (npr. 2/4)
- Dijagnostika panel za debugging
HPOS kompatibilnost
Plugin je u potpunosti kompatibilan sa WooCommerce High-Performance Order Storage (HPOS). Podržava i stari CPT i novi HPOS sistem za čuvanje narudžbina.
Česta pitanja
Plugin ne fiskalizuje narudžbine automatski?
- Proverite da li je fiskalizacija omogućena u podešavanjima
- Kliknite "Testiraj konekciju" da proverite kredencijale
- Proverite da li je narudžbina u statusu Processing ili Completed
- Proverite da li valuta prodavnice postavljena na RSD
Kako da testiram pre produkcije?
Postavite okruženje na Sandbox (test) u podešavanjima. Sandbox koristi test VSDC server i ne kreira prave fiskalne račune. Kada ste zadovoljni, prebacite na Produkciju.
Šta ako VSDC nije dostupan?
Narudžbina će dobiti status "failed" i automatski retry mehanizam će pokušati ponovo na svakih sat vremena. Možete i ručno kliknuti "Pokušaj ponovo" na stranici narudžbine.
Kako dodati PIB polje na checkout?
Plugin očekuje custom checkout polje sa imenom billing_pib (podrazumevano). Možete ga dodati pomoću WooCommerce Checkout Field Editor plugina ili custom koda. Ime polja se može promeniti u podešavanjima.
Da li plugin radi sa subscription narudžbinama?
Da, plugin se aktivira na svaku promenu statusa narudžbine u Processing/Completed, uključujući i renewal narudžbine od WooCommerce Subscriptions.
Koja PDV stopa se koristi?
Plugin čita PDV stopu iz WooCommerce poreskih podešavanja. Dozvoljene stope za fiskalizaciju:
- Sandbox: 19%, 10%, 0%
- Produkcija: 20%, 10%, 0%
Ako WooCommerce poreska stopa ne odgovara dozvoljenoj, plugin će prijaviti grešku.
Mogu li fiskalizovati stare narudžbine?
Da, otvorite narudžbinu i u eFiskalizacija meta box-u kliknite "Pokušaj ponovo". Plugin će pokušati fiskalizaciju bez obzira na starost narudžbine.
Kako da deinstaliram plugin?
Idite na Dodaci → Instalirani dodaci, deaktivirajte pa obrišite plugin. Metadata na narudžbinama (PFR brojevi) ostaje sačuvana u bazi.