=== Romanian billing fields === Contributors: robertutzu Donate link: https://paypal.me/gheorghiucezarrobert Tags: factura, facturare, persoana juridica, billing romania, persoana fizica Requires at least: 4.3.0 Requires PHP: 7.4 Tested up to: 6.9 WC requires at least: 7.0.0 WC tested up to: 9.9 Stable tag: 2.1.0 WC HPOS compatible: yes License: GPL v3 or later License URI: http://www.gnu.org/licenses/gpl-3.0.html Adaugă automat câmpuri de facturare în limba română la WooCommerce Checkout. == Description == Acest plugin adaugă câmpuri de facturare în limba română la WooCommerce Checkout. Adaugă câmpuri personalizate pentru legislația română: PF (Persoană Fizică): * CNP — validat cu cifra de control PJ (Persoană Juridică): * CIF/CUI — validat cu cifra de control (acceptă și prefixul RO) * Număr de înregistrare la Registrul Comerțului * Numărul contului bancar (IBAN) * Numele băncii La checkout utilizatorul alege mai întâi tipul de facturare (PF sau PJ), după care sunt afișate doar câmpurile relevante. Câmpurile obligatorii sunt validate atât în browser (JavaScript) cât și pe server, inclusiv algoritmic (cifra de control pentru CNP și CIF). Câmpurile sunt afișate în adresa de facturare sub Numele companiei — pe pagina checkout, pagina de mulțumire, comenzile din admin și e-mailuri. Tipul de facturare (PF/PJ) este afișat și în adminul comenzii. Puteți modifica aceste câmpuri ca administrator prin comenzi sau ca utilizator din pagina Contul meu → Adrese. Notă: pluginul funcționează cu checkout-ul clasic (shortcode `[woocommerce_checkout]`). Checkout-ul pe blocuri (Checkout block) nu este suportat momentan. = 🚀 Versiunea PRO = Vrei ca datele firmei să se completeze **automat de la ANAF**? Versiunea PRO adaugă: * **Preluare automată a datelor firmei de la ANAF** — clientul introduce doar CUI-ul, apasă un buton, și restul se completează automat: denumirea firmei, Nr.Reg.Com., adresa, orașul, județul și codul poștal * La PJ se afișează inițial doar câmpul CUI — restul câmpurilor apar autocompletate după preluare * Verificare status **plătitor de TVA** (cu prefixare automată „RO" la CIF) și detectare **firme inactive** la ANAF (avertizare sau blocare comandă) * Integrare cu **Print Invoice & Delivery Notes** — CIF și restul datelor apar automat în adresa de facturare pe facturi și avize * Pagină de setări dedicată * Fail-open: dacă ANAF nu răspunde, checkout-ul funcționează normal — comanda nu e blocată niciodată **[Cumpără versiunea PRO — 5 EUR →](https://robertcezar.gumroad.com/l/romanianbillingfieldspro)** PRO este un add-on: se instalează lângă acest plugin gratuit, care rămâne mereu gratuit și complet funcțional. **[Demo (versiunea gratuită)→](https://tastewp.com/new?pre-installed-plugin-slug=woocommerce%2Cromanian-billing-fields&redirect=plugins.php&ni=true)** == Frequently Asked Questions == = Cum obțin completarea automată a datelor de la ANAF? = Funcția de preluare automată a datelor firmei (denumire, Nr.Reg.Com., adresă, oraș, județ, cod poștal) după CUI face parte din [versiunea PRO](https://robertcezar.gumroad.com/l/romanianbillingfieldspro), disponibilă la 5 EUR. PRO se instalează ca add-on lângă acest plugin gratuit. = Versiunea gratuită rămâne funcțională fără PRO? = Da, complet. Versiunea gratuită include toate câmpurile PF/PJ și validarea cu cifra de control pentru CNP și CIF, și va primi în continuare actualizări pe WordPress.org. = Funcționează cu Checkout block? = Momentan nu — pluginul funcționează cu checkout-ul clasic (shortcode `[woocommerce_checkout]`). Incompatibilitatea este declarată explicit către WooCommerce. == Installation == Consultați: http://codex.wordpress.org/Managing_Plugins#Installing_Plugins După instalare și activare nu este necesară nicio configurare — câmpurile apar automat în checkout. == Changelog == ** 2.1.0 ** - Adăugat: label explicit „Nume firma" și placeholder pentru câmpul de companie (înlocuiește label-ul default WooCommerce) - Adăugat: placeholdere pentru toate câmpurile custom (CIF, Nr.Reg.Com., Cont/IBAN, Banca, CNP) - Fix: câmpurile CIF, Nr.Reg.Com. și Compania nu mai sunt obligatorii în afara checkout-ului — persoanele fizice își pot salva acum adresa din Contul meu → Adrese fără a completa date de firmă - Fix: câmpul Compania nu mai este obligatoriu pe adresa de livrare (required se propaga din câmpurile default și pe shipping) - Fix: selectul „tip de facturare" își păstrează valoarea după o eroare de validare la checkout (nu se mai resetează la gol) - Adăugat: validare algoritmică CNP (13 cifre + cifra de control) și CIF/CUI (cifra de control, cu sau fără prefixul RO) pe server - Adăugat: tipul de facturare (PF/PJ) este afișat în adminul comenzii, lângă adresa de facturare - Adăugat: declarată explicit incompatibilitatea cu Checkout block (`cart_checkout_blocks` = false) - Îmbunătățit: JS-ul de toggle este acum atașat de scriptul `wc-checkout` prin `wp_add_inline_script` și se re-aplică la `updated_checkout` - Îmbunătățit: text domain propriu (`grc-romanian-billing-fields`) pentru toate stringurile - Îmbunătățit: `wp_unslash()` înainte de `wc_clean()` la toate citirile din $_POST, plus adnotări PHPCS pentru Plugin Check - Îmbunătățit: hook-urile se înregistrează pe `plugins_loaded` cu verificare `class_exists('WooCommerce')` — funcționează corect și pe multisite - Adăugat header `Requires Plugins: woocommerce` (WordPress 6.5+) - Adăugat filtrul `grc_rbf_pro_handles_toggle` — versiunea PRO poate prelua logica de afișare a câmpurilor ** 2.0.0 ** - Versiune majoră — refactorizare completă a codului - Fix critic: eliminat `apply_filters('woocommerce_default_address_fields')` din `woocommerce_admin_billing_fields` care putea crea o buclă recursivă - Fix: mutat accesul la `$_POST['persoana']` din `woocommerce_default_address_fields` în `woocommerce_checkout_fields` - Adăugat validare server-side prin `woocommerce_checkout_process` - Salvare explicită a câmpurilor custom prin `woocommerce_checkout_order_created` — compatibil complet HPOS - Îmbunătățit JS: selectorii jQuery sunt cacheați; adăugat case `else hideAll()` - Actualizat versiune PHP minimă la 7.4 și WC minimă la 7.0.0 ** 1.9.7 ** - Fix major compatibilitate WooCommerce: eliminat accesul direct la meta `_billing_*` - Înlocuit `get_meta()` cu getters oficiali WooCommerce (`get_billing_*`) - Elimină erorile `is_internal_meta_key was called incorrectly` - Compatibilitate mai bună cu WooCommerce 8+ și HPOS - Îmbunătățiri minore validare input (`wc_clean`) ** 1.9.6 ** - Diverse îmbunătățiri vizuale - Suport HPOS ** 1.7.0 ** - Changed from radio buttons to select input PF/PJ ** 1.6.3 ** - Support check ** 1.6.2 ** - Support check ** 1.6.1 ** - Support check ** 1.6 ** - Support check ** 1.5 ** - Fixed admin field show ** 1.4 ** - Fixed input save ** 1.3 ** - Fixed tags ** 1.2 ** - Fixed compatibility with WooCommerce 4.* ** 1.1 ** - Fixed error of get_order ** 1.0 ** - Initial release