Kybernaut IČO DIČ

Description

Adds Company & VAT numbers (IČO & DIČ & IČ DPH) to WooCommerce billing fields and verifies if data are correct. Verification is based either on ARES and VIES database or only on mathematics. When billing to Czech republic, you can autofill fields Company, VAT number, Address, City, and Postcode based on IČO.

Supports both PHP 7.3+ (soon to be abandoned) & PHP 8.0+.

Main functionality

  • for CZ as billing country
    • ARES and VIES verification (or mathematically verifies IČO and DIČ)
    • ARES autofill (fields Company, VAT number, Address, City, and Postcode) based on IČO
  • for SK as billing country
    • VIES DIČ validation (or just validate the format of values)
  • for EU countries as billing country
    • VIES DIČ validation
  • VAT extempt feature
  • adds fields to IČO & DIČ & IČ DPH WooCommerce frontend: Checkout and My Account page
  • allows edits from administration (backend):
    • Users -> Joe Doe (Edit) -> Billing address of the customer
    • E-shop-WooCommerce -> Orders-> Order (show(edit)) -> Billing Information (edit)
  • Enable toggle switch to show/hide input fields (“Buying as a company?”)
  • Move Country field above the “Buying as a company?” toggle
  • Option to allow on order if if ARES or VIES check fails for technical reasons – an alert will be shown in the admin mail and order details

Compatibility

Requirements

  • SoapClient PHP library for VIES validation (ask your hosting)

Credits

If you want to help, join the Github.

Screenshots

  • Checkout validation of IČO.

Installation

  1. Just follow the standard WordPress plugin installation procedere.
  2. Go to WooCommerce->Settings->General and scroll down for Kybernaut IČO DIČ options.

FAQ

I want to display values in Woo iDoklad by Vladislav Musílek (Toret)

Go to Toret plugins -> Woo iDoklad and scroll to Přiřazení polí pro IČ a DIČ and fill following values:
IČ: _billing_ic
DIČ: _billing_dic
SK DIČ: _billing_dic_dph

I want to style ARES verified fields

U can use css selectors .kbnt-validating, .kbnt-ok, and .kbnt-wrong for example:
.kbnt-wrong input {
color: #e2401c;
}
.kbnt-ok input {
color: #0f834d;
}
.kbnt-validating input{
color: #3d9cd2;
}

I want to display fields in the same row, one besides other (half width)

You can use this snippet to modify the classes of outputed fileds, just add them to your functions.php

add_filter( 'woolab_icdic_class_billing_ic', 'my_theme_class_billing_ic', 10, 1 );
function my_theme_class_billing_ic ( $class ) {
    return array('form-row-first');
}

add_filter( 'woolab_icdic_class_billing_dic', 'my_theme_class_billing_dic', 10, 1 );
function my_theme_class_billing_dic ( $class ) {
    return array('form-row-last');
}

I want to update customers meta when I change IČO or DIČ value within order edit.

You can use this snippet to update customers data when you edit an order, just add them to your functions.php

add_filter( 'woolab_icdic_update_user_meta', '__return_true' );

How can I report security bugs?

You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. Report a security vulnerability.

I found a bug. Where should I post it?

I personally prefer GitHub, to keep things straight. The plugin code is here: GitHub
But you may use the WordPress Forum as well.

I found a bug and fixed it. How can I contribute?

Either post it on GitHub or—if you are working on a cloned repository—send me a pull request.

Reviews

August 2, 2024 1 reply
Posledná (nová) verzia WooCommerce Checkout blocks sa nemá s týmto pluginom rada. Doteraz mi pri pár cvičných inštaláciách plugin fungoval bez problémov a zrazu nechodí. Napísal som pani autorke, do 24 hodín som mal odpoveď – naozaj je potrebné stránku pokladne Checkout vytvoriť pomocou starého shortkódu [woocommerce_checkout] …a potom to funguje s témou Sydney perfektne.Vďaka za čas, ktorý pluginu venujete, pani Vyskočilová. Sponzorské posielam!
January 9, 2024 1 reply
Dávám 5 hvězdiček za podporu a funkční plugin který je poskytován zdarma. Velice děkuji Emanuel Janda, EMPOLAS s.r.o.
December 4, 2023 1 reply
Trošku jsem bojoval při nasazení pluginu. Nezobrazovalo se IČO v pokladně, ale díky pohotové reakci paní Vyskočilové se povedlo zprovoznit. Jednalo se o nové WooCommerce Checkout blocks – je potřeba mít stránku checkoutu vytvořenou pomocí [woocommerce_checkout]
Read all 35 reviews

Contributors & Developers

“Kybernaut IČO DIČ” is open source software. The following people have contributed to this plugin.

Contributors

“Kybernaut IČO DIČ” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “Kybernaut IČO DIČ” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.9.1 (2024-11-14)

  • Fix: Greek VAT number validation – VAT country prefix (EL) doesn’t match WooCommerce coutry code (GR).

1.9.0 (2024-06-28)

  • Feature: New checkbox “Ignore when ARES or VIES check fails for technical reasons” in plugin settings. If this option is enabled and validation of business ID or VAT number fails for technical reason (not because it is invalid), an order is placed. For orders at which validation fails, there is an alert at admin edit screen and in admin e-mail. Big thanks to @PavelVybiral #72

1.8.2 (2024-01-09)

1.8.1 (2024-01-05)

  • Fix: Bump minimum PHP compatibility to 7.3 (will be increased soon to 8.0).

1.8.0 (2024-01-05)

  • Fix: VAT exempt checkbox default to off.
  • Fix: Work with new ARES API (the old in previous versions has been discontinued by the end of 2023). For initial solution and pointing to the thanks to @lukas-tomoszek.
  • Feature: Prefix dependencies to avoid conflicts (using wpify/scoper)
  • Add test validating Ares REST API check and processing.

1.7.5 (2023-12-19)

  • Fix: Accidentally broken toggle switch in 1.7.4.
  • Declare incompatibility with checkout blocks.

1.7.4 (2023-11-20)

  • Fix: Additional check – billing country and VAT country prefix must match for SK IC DPH.
  • Feature: Added compatibility with Fluid Checkout for WooCommerce – Lite.
  • Feature: Added a filter woolab_icdic_check_billing_country_and_dic allowing to disable the feature introduced in 1.7.3.

1.7.3 (2023-10-08)

  • Feature: Localize address format for all EU countries.
  • Feature: Additional check – billing country and VAT country prefix must match (paid by a supporter).

1.7.2 (2023-08-02)

  • Fix: non HPOS WooCommerce edit order – load IC DIC values #60
  • Fix: ICO – load the city district (NCO) if the street (NO) is not filled in (case when the street = city name) #62
  • Several code updates and cleanup #61

1.7.1 (2023-07-26)

  • Fix: Fatal error while updating manually order status #59

1.7.0 (2023-07-25)

  • Feature: HPOS support – together with @morvy, #55
  • Feature: VAT extempt – thanks to @morvy, #48
  • Feature: Math validation for Slovak IC DPH – thanks to @morvy, #56
  • Fix: Checked “Buying as a company” while any of Company related fields is filled – thanks to @morvy, #48
  • Fix: Validation of CZ DIC with different length than 10 numbers – thanks to @morvy, #56

1.6.7 (2022-01-12)

  • Fix: Checkbox buy as a company – data are sent even when unchecked – thanks to @morvy

1.6.6 (2021-11-05)

  • Fix: jQuery 3.x compatibility #41 – thanks to @morvy
  • Fix: Notice: Undefined variable: dic #43 – thanks to @morvy

1.6.5 (2021-10-01)

  • Fix: VAT label CSS bug #40 – thanks to @morvy

1.6.4 (2021-04-05)

  • Fix: prefix toggle CSS class.
  • Fix: call an old function in SK DIČ validation.
  • Improve: remove duplicate class on IČ DPH.
  • Improve: validate ARES only when CZ selected (when the country is re-selected again).
  • Load toggle CSS only when used.

1.6.3 (2021-02-24)

  • Feature: Add compatibility with PHP 8

1.6.2 (2021-02-24)

  • Fix: VAT Validation error.

1.6.1 (2021-02-24)

  • Bump the version after SVN issues with “vendor” file

1.6.0 (2021-02-24)

  • Fix: Add correct classes on checkbox input for “Buy as Company”
  • Update dependencies: VAT composer library to 2.0.5
  • Bump minimum requirements to 7.1 (due to Composer dependency)

1.5.4 (2020-12-02)

  • Fix: Don’t validate without billing country #27 – thanks to @morvy

1.5.3 (2020-11-09)

1.5.2 (2020-10-13)

  • Fix wrong assets path.
  • Use more general CSS selectors for better compatibility.

1.5.1 (2020-09-17)

  • Fix issues with quotes – #25
  • Add custom filter for disabling required DIC when ICO filled for SK add_filter( 'woolab_icdic_sk_required_ic_and_dic', '__return_false' );#26

1.5.0 (2020-07-20)

  • Fix: Slovak DIC validation fix, #22 – thanks to @morvy
  • Feature: Show/Hide toggle functionality, #24@morvy
  • Maintenance: Update language files and dependencies

1.4.0 (2019-09-05)

  • Fix: Strip spaces from ICO, DIC, DIC DPH fields (#8)
  • Fix: Validation of Slovak DIČ in Vies (#9)
  • Fix: Trigger update_checkout JS when address loaded
  • Performance: Don’t validate IČO in ARES when the value has not been changed, called after ‘donetyping’
  • Maintenance: Update node_modules

1.3.3 (2018-11-18)

  • Compatibility with WC 3.5.1 which has “fixed” old ordering of checkout fields #21763

1.3.2 (2018-08-14)

  • Fix: Use number for address in ARES when no correct land registry and hous number are not filled (@pryx)

1.3.1 (2018-06-03)

  • Fix: Show “IČ DPH” on “Manually add new order” screen when “Slovakia” selected
  • Fix: Correct validation “IČ DPH” (with SK prefix) and “DIČ” (without SK prefix)
  • Fix: Remove the WC nonce check (already checked in WC itself)
  • Fix: Problem with loading plugin options
  • Added “How to” for Woo iDoklad to readme.txt
  • Update .pot source file.

1.3.0 (2018-02-21)

  • Fix: Display “VAT reg. no.” field in Order Billing-edit.
  • Fix: Compatibility with WooCommerce Sequential Order Numbers (#3)
  • Performance: CSS in admin.
  • Feature: Validation for Czech Business ID (via ARES)
  • Feature: Autofill for fields such as Company, VAT number, Address, City, and Postcode based on Czech Business ID (via ARES)
  • Feature: Validation of VAT (via VIES)
  • Added: Plugin settings to WooCommerce->Settings->General
  • Fields moved after “company” field.

1.2.0 (2018-02-08)

  • Fixed: Editing Business ID and VAT values within order in admin backend
  • Feature: Texts in plugin only in English (Czech as a translation)
  • Feature: Added woolab_icdic_class_{field_name} filters to customize class of added billing input fields
  • Feature: Added woolab_icdic_update_user_meta filter to enable updating user meta on order details edit
  • Added: Links to GitHub and Write a review to plugins page.
  • Added: Basic SK support (based on this article)

1.1.0 (2017-04-05)

  • Fix: “Order properties should not be accessed directly.” Added support for WooCommerce 3.0.

1.0.3 (2017-02-1)

  • Fix: display fields in My Account frontend page.
  • Add: support for WooCommerce PDF Invoices & Packing Slips.

1.0.2.1 (2016-12-15)

  • Feature: Created the GIT repository

1.0.2 (2016-09-05)

  • Fix: the term “IČ” to “IČO”.

1.0.1 (2016-07-18)

  • Feature: Checks billing country and validates IC & DIC if is set to CZ

1.0.0 (2016-07-16)

  • Initial release