{"id":329723,"date":"2026-07-07T12:58:10","date_gmt":"2026-07-07T12:58:10","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/kazuki-invoice-registration-verify-for-woocommerce\/"},"modified":"2026-07-14T13:51:12","modified_gmt":"2026-07-14T13:51:12","slug":"kazuki-invoice-registration-verify-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/fa.wordpress.org\/plugins\/kazuki-invoice-registration-verify-for-woocommerce\/","author":23519114,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.4","stable_tag":"1.0.4","tested":"7.0.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Faro Invoice Registration Verify for WooCommerce","header_author":"Kazuki Yamashita","header_description":"Checks Japan invoice registration numbers against the National Tax Agency public register at checkout. Needs a free Application ID from the NTA.","assets_banners_color":"","last_updated":"2026-07-14 13:51:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/kazuki-invoice-registration-verify-for-woocommerce\/","header_author_uri":"https:\/\/profiles.wordpress.org\/kazukiyamashita80\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":174,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["installation","faq","changelog","description"],"tags":{"1.0.3":{"tag":"1.0.3","author":"kazukiyamashita80","date":"2026-07-07 12:57:45"},"1.0.4":{"tag":"1.0.4","author":"kazukiyamashita80","date":"2026-07-14 13:51:12"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3606912,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3","1.0.4"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[3148,12480,11393,267873,286],"plugin_category":[45],"plugin_contributors":[267874],"plugin_business_model":[],"class_list":["post-329723","plugin","type-plugin","status-publish","hentry","plugin_tags-checkout","plugin_tags-invoice","plugin_tags-japan","plugin_tags-qualified-invoice","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-kazukiyamashita80","plugin_committers-kazukiyamashita80"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/kazuki-invoice-registration-verify-for-woocommerce\/assets\/icon.svg?rev=3606912","icon":"https:\/\/ps.w.org\/kazuki-invoice-registration-verify-for-woocommerce\/assets\/icon.svg?rev=3606912","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=installation-->\n<ol>\n<li><p>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install via WordPress plugins screen.<\/p><\/li>\n<li><p>Activate through the 'Plugins' menu.<\/p><\/li>\n<li><p>Ensure WooCommerce is active.<\/p><\/li>\n<li><p>Install a checkout field for registration numbers (recommended: Kazuki Qualified Invoice Number).<\/p><\/li>\n<li><p>Apply for an NTA Web-API Application ID and enter it under WooCommerce \u2192 Settings \u2192 \u767b\u9332\u756a\u53f7\u7167\u5408.<\/p><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20check%20that%20the%20number%20looks%20like%20t%20%2B%2013%20digits%3F\"><h3>Does this check that the number looks like T + 13 digits?<\/h3><\/dt>\n<dd><p>No. It only queries the public register. Use <a href=\"https:\/\/wordpress.org\/plugins\/kazuki-qualified-invoice-number-for-woocommerce\/\">Kazuki Qualified Invoice Number<\/a> for format validation.<\/p><\/dd>\n<dt id=\"what%20if%20i%20do%20not%20have%20an%20application%20id%20yet%3F\"><h3>What if I do not have an Application ID yet?<\/h3><\/dt>\n<dd><p>Leave the ID empty. Verification is skipped and checkout continues normally. Add the ID when it arrives from the NTA.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20nta%20website%20is%20down%3F\"><h3>What happens if the NTA website is down?<\/h3><\/dt>\n<dd><p>If \"block invalid numbers\" is on, checkout may fail when the API returns an error. You can turn off blocking temporarily or increase cache time in settings.<\/p><\/dd>\n<dt id=\"which%20checkout%20fields%20are%20read%3F\"><h3>Which checkout fields are read?<\/h3><\/dt>\n<dd><p>Classic checkout <code>billing_jp_invoice_reg_no<\/code>, order meta <code>_jp_invoice_reg_no<\/code>, and Checkout Block field <code>jp-invoice-reg-no\/registration-number<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>readme \u306b\u65e5\u672c\u8a9e\u8aac\u660e\u30bb\u30af\u30b7\u30e7\u30f3\u3092\u8ffd\u52a0\uff08\u5bfe\u8c61\u8005\u30fb\u6a5f\u80fd\u30fb\u95a2\u9023\u30d7\u30e9\u30b0\u30a4\u30f3\uff09\u3002<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fix fatal error when opening WooCommerce settings: load settings class only after WC_Settings_Page is available.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li><p>readme and settings: plain-language descriptions for shop owners (who it is for, workflow).<\/p><\/li>\n<li><p>Clearer admin labels and customer-facing error text.<\/p><\/li>\n<li><p>Review request in readme and settings.<\/p><\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Align text domain with plugin slug. Document external NTA API in readme. Checkout POST nonce verification and input sanitization.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release. NTA Web-API verification at checkout, order meta, admin display.<\/li>\n<\/ul>\n\n<!--section=description-->\n<p>\u30c1\u30a7\u30c3\u30af\u30a2\u30a6\u30c8\u306e\u30a4\u30f3\u30dc\u30a4\u30b9\u767b\u9332\u756a\u53f7\u3092\u56fd\u7a0e\u5e81\u306e\u516c\u958b API \u3067\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u7167\u5408\u3002\u767b\u9332\u306e\u6709\u7121\u3092\u6ce8\u6587\u306b\u4fdd\u5b58\u3002<\/p>\n\n<h3>\u65e5\u672c\u8a9e\u306e\u8aac\u660e<\/h3>\n\n<p><strong>\u3053\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u5411\u3044\u3066\u3044\u308b\u65b9:<\/strong> \u30c1\u30a7\u30c3\u30af\u30a2\u30a6\u30c8\u3067\u53ce\u96c6\u3057\u305f\u30a4\u30f3\u30dc\u30a4\u30b9\u767b\u9332\u756a\u53f7\u304c <strong>\u672c\u5f53\u306b\u56fd\u7a0e\u5e81\u306b\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u304b<\/strong> \u3092\u305d\u306e\u5834\u3067\u78ba\u8a8d\u3057\u305f\u3044 WooCommerce \u30b7\u30e7\u30c3\u30d7\u30aa\u30fc\u30ca\u30fc\u3002<\/p>\n\n<p><strong>\u3067\u304d\u308b\u3053\u3068:<\/strong><\/p>\n\n<p>\u8cfc\u5165\u8005\u304c\u767b\u9332\u756a\u53f7\u3092\u5165\u529b\u3059\u308b\u3068\u3001\u3053\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u304c <strong>\u56fd\u7a0e\u5e81\u306e\u9069\u683c\u8acb\u6c42\u66f8\u767a\u884c\u4e8b\u696d\u8005\u516c\u8868\u30b7\u30b9\u30c6\u30e0 Web-API<\/strong> \u306b\u554f\u3044\u5408\u308f\u305b\u3001\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u78ba\u8a8d\u3057\u307e\u3059\u3002\u78ba\u8a8d\u7d50\u679c\uff08\u300c\u767b\u9332\u3042\u308a\u300d\u300c\u767b\u9332\u306a\u3057\u300d\u306a\u3069\uff09\u306f\u6ce8\u6587\u306b\u4fdd\u5b58\u3055\u308c\u308b\u305f\u3081\u3001\u7ba1\u7406\u753b\u9762\u3067\u3044\u3064\u3067\u3082\u53c2\u7167\u3067\u304d\u307e\u3059\u3002<\/p>\n\n<p><strong>\u4e3b\u306a\u6a5f\u80fd:<\/strong><\/p>\n\n<ul>\n<li>\u56fd\u7a0e\u5e81\u306e\u516c\u958b API \u3067\u767b\u9332\u756a\u53f7\u3092\u7167\u5408\uff08\u30c1\u30a7\u30c3\u30af\u30a2\u30a6\u30c8\u6642\u30fb\u81ea\u52d5\uff09<\/li>\n<li>\u7167\u5408\u7d50\u679c\u3092\u6ce8\u6587\u30e1\u30bf\u306b\u4fdd\u5b58\uff08\u7ba1\u7406\u753b\u9762\u3067\u78ba\u8a8d\u53ef\u80fd\uff09<\/li>\n<li>\u672a\u767b\u9332\u756a\u53f7\u3067\u306e\u30c1\u30a7\u30c3\u30af\u30a2\u30a6\u30c8\u3092\u30d6\u30ed\u30c3\u30af\u3059\u308b\u8a2d\u5b9a\uff08\u4efb\u610f\uff09<\/li>\n<li>\u540c\u3058\u756a\u53f7\u3092\u4f55\u5ea6\u3082\u7167\u5408\u3057\u306a\u3044\u30ad\u30e3\u30c3\u30b7\u30e5\u6a5f\u80fd\uff08\u30c7\u30d5\u30a9\u30eb\u30c824\u6642\u9593\uff09<\/li>\n<\/ul>\n\n<p><strong>\u4e8b\u524d\u6e96\u5099:<\/strong> \u56fd\u7a0e\u5e81\u306e Web-API \u3092\u4f7f\u3046\u306b\u306f <strong>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 ID\uff08\u5229\u7528\u7533\u8acb\uff09<\/strong> \u304c\u5fc5\u8981\u3067\u3059\u3002\u7533\u8acb\u304b\u3089\u767a\u884c\u307e\u3067 1\u301c2 \u304b\u6708\u304b\u304b\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002ID \u304c\u306a\u3044\u9593\u306f\u30c1\u30a7\u30c3\u30af\u30a2\u30a6\u30c8\u3092\u30d6\u30ed\u30c3\u30af\u305b\u305a\u901a\u5e38\u901a\u308a\u52d5\u4f5c\u3057\u307e\u3059\u3002<\/p>\n\n<p><strong>\u3053\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u306f\u5165\u529b\u6b04\u3092\u8ffd\u52a0\u3057\u307e\u305b\u3093\u3002<\/strong> \u5148\u306b <a href=\"https:\/\/wordpress.org\/plugins\/kazuki-qualified-invoice-number-for-woocommerce\/\">Kazuki Qualified Invoice Number for WooCommerce<\/a> \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u5165\u529b\u6b04\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n<p><strong>\u95a2\u9023\u30d7\u30e9\u30b0\u30a4\u30f3:<\/strong><\/p>\n\n<ul>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/kazuki-qualified-invoice-number-for-woocommerce\/\">Kazuki Qualified Invoice Number for WooCommerce<\/a> \u2014 \u30c1\u30a7\u30c3\u30af\u30a2\u30a6\u30c8\u306b\u767b\u9332\u756a\u53f7\u5165\u529b\u6b04\u3092\u8ffd\u52a0<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/kazuki-accounting-export-for-woocommerce\/\">Kazuki Accounting Export for WooCommerce<\/a> \u2014 \u6ce8\u6587\u3092\u5f25\u751f\u30fbfreee\u30fb\u30de\u30cd\u30fc\u30d5\u30a9\u30ef\u30fc\u30c9\u5f62\u5f0f\u3067\u30a8\u30af\u30b9\u30dd\u30fc\u30c8<\/li>\n<\/ul>\n\n\n\n<p><strong>Who this is for:<\/strong> WooCommerce shops that already collect <strong>\u9069\u683c\u8acb\u6c42\u66f8\u767a\u884c\u4e8b\u696d\u8005\u767b\u9332\u756a\u53f7<\/strong> (T + 13 digits) at checkout and want to know whether the number is <strong>really registered<\/strong> with Japan's tax office\u2014not just whether it looks like the right format.<\/p>\n\n<p><strong>What it does in plain terms:<\/strong><\/p>\n\n<p>When a customer enters a registration number, this plugin asks the <strong>National Tax Agency (NTA) public register<\/strong> whether that number is active. The result is saved on the order so you can see \"valid\" or \"not found\" in the admin. You can optionally <strong>block checkout<\/strong> if the number is not valid on the register.<\/p>\n\n<p><strong>This plugin does not add a checkout field.<\/strong> Install <a href=\"https:\/\/wordpress.org\/plugins\/kazuki-qualified-invoice-number-for-woocommerce\/\">Kazuki Qualified Invoice Number for WooCommerce<\/a> first (or use your own field that saves the same order data).<\/p>\n\n<p><strong>Typical workflow:<\/strong><\/p>\n\n<ol>\n<li><p>Install the registration number field plugin and enable the checkout field.<\/p><\/li>\n<li><p>Apply for a free <strong>Application ID<\/strong> on the NTA website (often takes 1\u20132 months to arrive).<\/p><\/li>\n<li><p>WooCommerce \u2192 Settings \u2192 <strong>\u767b\u9332\u756a\u53f7\u7167\u5408<\/strong> \u2014 paste the Application ID.<\/p><\/li>\n<li><p>Customer enters a number at checkout \u2192 plugin checks the NTA register automatically.<\/p><\/li>\n<li><p>You see the verification result on the order (registered name when available).<\/p><\/li>\n<\/ol>\n\n<p><strong>What you need to know (no tax expertise required):<\/strong><\/p>\n\n<ul>\n<li><p><strong>Format vs. real registration<\/strong> \u2014 another plugin (or your theme) should check that the value looks like <code>T<\/code> + 13 digits. This plugin only checks the <strong>official public list<\/strong>.<\/p><\/li>\n<li><p><strong>Without an Application ID<\/strong> \u2014 verification is skipped; checkout is not blocked.<\/p><\/li>\n<li><p><strong>Caching<\/strong> \u2014 the same number is not queried on every page load (default: 24 hours).<\/p><\/li>\n<li><p><strong>Works with<\/strong> classic checkout and WooCommerce Checkout Block fields from the Kazuki registration number plugin.<\/p><\/li>\n<\/ul>\n\n<p><strong>Works well with:<\/strong><\/p>\n\n<ul>\n<li><p><a href=\"https:\/\/wordpress.org\/plugins\/kazuki-qualified-invoice-number-for-woocommerce\/\">Kazuki Qualified Invoice Number for WooCommerce<\/a> \u2014 checkout field and format check<\/p><\/li>\n<li><p><a href=\"https:\/\/wordpress.org\/plugins\/kazuki-accounting-export-for-woocommerce\/\">Kazuki Accounting Export for WooCommerce<\/a> \u2014 journal export for Yayoi; registration number in memo<\/p><\/li>\n<\/ul>\n\n<p><strong>Enjoying this plugin?<\/strong> If it helps your shop, <a href=\"https:\/\/wordpress.org\/support\/plugin\/kazuki-invoice-registration-verify-for-woocommerce\/reviews\/#new-post\">a review on WordPress.org<\/a> would mean a lot to us \u2014 thank you.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the <strong>National Tax Agency (NTA) Qualified Invoice Issuer Publication System Web-API<\/strong> to verify whether a registration number is valid on the public register.<\/p>\n\n<ul>\n<li><p><strong>Service:<\/strong> NTA Invoice Issuer Publication System Web-API (number lookup endpoint).<\/p><\/li>\n<li><p><strong>What is sent:<\/strong> Your NTA Application ID, the registration number to look up (T + 13 digits), and standard HTTP request metadata. Sent only when a customer enters a registration number at checkout (or when an order is saved with a number), and when the store owner has configured an Application ID.<\/p><\/li>\n<li><p><strong>When:<\/strong> During WooCommerce checkout validation and when saving order verification metadata. Responses may be cached in the WordPress database for a configurable period (default 24 hours).<\/p><\/li>\n<li><p><strong>Terms of service:<\/strong> <a href=\"https:\/\/www.invoice-kohyo.nta.go.jp\/web-api\/riyou_kiyaku.html\">Web-API terms of use<\/a>, <a href=\"https:\/\/www.invoice-kohyo.nta.go.jp\/terms-of-use.html\">NTA publication site terms<\/a>.<\/p><\/li>\n<li><p><strong>Privacy policy:<\/strong> <a href=\"https:\/\/www.invoice-kohyo.nta.go.jp\/privacy-policy.html\">NTA personal information protection policy<\/a>.<\/p><\/li>\n<\/ul>\n\n<p>This service is provided by the National Tax Agency of Japan. Verification results are based on public register data; the NTA does not guarantee third-party services built on this API.<\/p>","raw_excerpt":"\u30c1\u30a7\u30c3\u30af\u30a2\u30a6\u30c8\u306e\u30a4\u30f3\u30dc\u30a4\u30b9\u767b\u9332\u756a\u53f7\u3092\u56fd\u7a0e\u5e81\u306e\u516c\u958b API \u3067\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u7167\u5408\u3002\u767b\u9332\u306e\u6709\u7121\u3092\u6ce8\u6587\u306b\u4fdd\u5b58\u3002","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/329723","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=329723"}],"author":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kazukiyamashita80"}],"wp:attachment":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=329723"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=329723"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=329723"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=329723"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=329723"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=329723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}