{"id":1400,"date":"2026-06-19T19:31:23","date_gmt":"2026-06-19T19:31:23","guid":{"rendered":"https:\/\/thenextdigi.com\/moneywize\/?page_id=1400"},"modified":"2026-06-19T19:36:37","modified_gmt":"2026-06-19T19:36:37","slug":"cis-calculator","status":"publish","type":"page","link":"https:\/\/thenextdigi.com\/moneywize\/resources\/cis-calculator\/","title":{"rendered":"CIS Calculator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1400\" class=\"elementor elementor-1400\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5f8b4a29 e-flex e-con-boxed e-con e-parent\" data-id=\"5f8b4a29\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-506f75c1 e-con-full feat-grid  e-flex e-con e-child\" data-id=\"506f75c1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-4dd368d e-con-full e-flex e-con e-child\" data-id=\"4dd368d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-25ea03ea elementor-widget elementor-widget-heading\" data-id=\"25ea03ea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">CONSTRUCTION TAX\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-49425768 elementor-widget elementor-widget-heading\" data-id=\"49425768\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">CIS  <span class=\"text-brand\">Calculator <\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1dc34fa1 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"1dc34fa1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Calculate CIS deductions, material costs and net payments for contractors and subcontractors working within the construction industry.\n<\/h2>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5b982545 e-con-full e-flex e-con e-child\" data-id=\"5b982545\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1f301549 elementor-widget elementor-widget-button\" data-id=\"1f301549\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/thenextdigi.com\/moneywize\/resources#See-all-calculators\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Open the calculators<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-27f208af e-con-full e-flex e-con e-child\" data-id=\"27f208af\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-50e87765 elementor-widget elementor-widget-html\" data-id=\"50e87765\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"mw-cis-calculator\" data-cis-calculator>\r\n  <div class=\"mw-cis-inner\">\r\n\r\n    <div class=\"mw-cis-field\">\r\n      <label>Gross amount paid<\/label>\r\n\r\n      <input\r\n        type=\"text\"\r\n        class=\"mw-cis-gross\"\r\n        inputmode=\"decimal\"\r\n        placeholder=\"2,400.00\"\r\n        autocomplete=\"off\"\r\n      >\r\n\r\n      <small>Excluding VAT<\/small>\r\n    <\/div>\r\n\r\n    <div class=\"mw-cis-field\">\r\n      <label>Qualifying materials<\/label>\r\n\r\n      <input\r\n        type=\"text\"\r\n        class=\"mw-cis-materials\"\r\n        inputmode=\"decimal\"\r\n        placeholder=\"0.00\"\r\n        autocomplete=\"off\"\r\n      >\r\n\r\n      <small>Materials cost excluding VAT<\/small>\r\n    <\/div>\r\n\r\n    <div class=\"mw-cis-grid\">\r\n\r\n      <div class=\"mw-cis-field\">\r\n        <label>VAT rate<\/label>\r\n\r\n        <div class=\"mw-cis-select-wrap\">\r\n          <select class=\"mw-cis-vat-rate\">\r\n            <option value=\"0.20\">20%<\/option>\r\n            <option value=\"0.05\">5%<\/option>\r\n            <option value=\"0\">0%<\/option>\r\n          <\/select>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mw-cis-field\">\r\n        <label>CIS status<\/label>\r\n\r\n        <div class=\"mw-cis-select-wrap\">\r\n          <select class=\"mw-cis-rate\">\r\n            <option value=\"0.20\">\r\n              Registered - 20%\r\n            <\/option>\r\n\r\n            <option value=\"0\">\r\n              Gross payment - 0%\r\n            <\/option>\r\n\r\n            <option value=\"0.30\">\r\n              Not registered - 30%\r\n            <\/option>\r\n          <\/select>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <div class=\"mw-cis-divider\"><\/div>\r\n\r\n    <div class=\"mw-cis-results\" aria-live=\"polite\">\r\n\r\n      <div class=\"mw-cis-main-result\">\r\n        <span>CIS deduction:<\/span>\r\n\r\n        <strong class=\"mw-cis-deduction\">\r\n          \u00a30.00\r\n        <\/strong>\r\n      <\/div>\r\n\r\n      <div class=\"mw-cis-result-details\">\r\n\r\n        <span>\r\n          Net payment:\r\n          <strong class=\"mw-cis-net-payment\">\r\n            \u00a30.00\r\n          <\/strong>\r\n        <\/span>\r\n\r\n        <span>\r\n          Total with VAT:\r\n          <strong class=\"mw-cis-invoice-total\">\r\n            \u00a30.00\r\n          <\/strong>\r\n        <\/span>\r\n\r\n      <\/div>\r\n\r\n      <div class=\"mw-cis-calculation-details\">\r\n\r\n        <span>\r\n          Deduction base:\r\n          <strong class=\"mw-cis-deduction-base\">\r\n            \u00a30.00\r\n          <\/strong>\r\n        <\/span>\r\n\r\n        <span>\r\n          VAT:\r\n          <strong class=\"mw-cis-vat-amount\">\r\n            \u00a30.00\r\n          <\/strong>\r\n        <\/span>\r\n\r\n      <\/div>\r\n\r\n      <p class=\"mw-cis-note\">\r\n        CIS deductions exclude VAT and qualifying materials.\r\n      <\/p>\r\n\r\n    <\/div>\r\n\r\n    <p class=\"mw-cis-error\"><\/p>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  function initialiseCisCalculators() {\r\n    const calculators = document.querySelectorAll(\r\n      '[data-cis-calculator]:not([data-cis-initialised])'\r\n    );\r\n\r\n    calculators.forEach(function (calculator) {\r\n      calculator.setAttribute(\r\n        'data-cis-initialised',\r\n        'true'\r\n      );\r\n\r\n      const grossField = calculator.querySelector(\r\n        '.mw-cis-gross'\r\n      );\r\n\r\n      const materialsField = calculator.querySelector(\r\n        '.mw-cis-materials'\r\n      );\r\n\r\n      const vatRateField = calculator.querySelector(\r\n        '.mw-cis-vat-rate'\r\n      );\r\n\r\n      const cisRateField = calculator.querySelector(\r\n        '.mw-cis-rate'\r\n      );\r\n\r\n      const deductionResult = calculator.querySelector(\r\n        '.mw-cis-deduction'\r\n      );\r\n\r\n      const netPaymentResult = calculator.querySelector(\r\n        '.mw-cis-net-payment'\r\n      );\r\n\r\n      const invoiceTotalResult = calculator.querySelector(\r\n        '.mw-cis-invoice-total'\r\n      );\r\n\r\n      const deductionBaseResult = calculator.querySelector(\r\n        '.mw-cis-deduction-base'\r\n      );\r\n\r\n      const vatAmountResult = calculator.querySelector(\r\n        '.mw-cis-vat-amount'\r\n      );\r\n\r\n      const errorMessage = calculator.querySelector(\r\n        '.mw-cis-error'\r\n      );\r\n\r\n      function parseAmount(value) {\r\n        const cleanedValue = String(value)\r\n          .replace(\/\u00a3\/g, '')\r\n          .replace(\/,\/g, '')\r\n          .replace(\/\\s\/g, '');\r\n\r\n        return parseFloat(cleanedValue);\r\n      }\r\n\r\n      function getAmount(field) {\r\n        const value = field.value.trim();\r\n\r\n        if (value === '') {\r\n          return 0;\r\n        }\r\n\r\n        return parseAmount(value);\r\n      }\r\n\r\n      function formatCurrency(value) {\r\n        return new Intl.NumberFormat('en-GB', {\r\n          style: 'currency',\r\n          currency: 'GBP',\r\n          minimumFractionDigits: 2,\r\n          maximumFractionDigits: 2\r\n        }).format(value);\r\n      }\r\n\r\n      function updateResults(data) {\r\n        deductionResult.textContent =\r\n          formatCurrency(data.deduction);\r\n\r\n        netPaymentResult.textContent =\r\n          formatCurrency(data.netPayment);\r\n\r\n        invoiceTotalResult.textContent =\r\n          formatCurrency(data.invoiceTotal);\r\n\r\n        deductionBaseResult.textContent =\r\n          formatCurrency(data.deductionBase);\r\n\r\n        vatAmountResult.textContent =\r\n          formatCurrency(data.vatAmount);\r\n      }\r\n\r\n      function resetResults() {\r\n        updateResults({\r\n          deduction: 0,\r\n          netPayment: 0,\r\n          invoiceTotal: 0,\r\n          deductionBase: 0,\r\n          vatAmount: 0\r\n        });\r\n      }\r\n\r\n      function calculateCis() {\r\n        const grossAmount = getAmount(grossField);\r\n        const materialsAmount = getAmount(materialsField);\r\n\r\n        const vatRate = parseFloat(\r\n          vatRateField.value\r\n        );\r\n\r\n        const cisRate = parseFloat(\r\n          cisRateField.value\r\n        );\r\n\r\n        if (\r\n          !Number.isFinite(grossAmount) ||\r\n          grossAmount < 0\r\n        ) {\r\n          errorMessage.textContent =\r\n            'Please enter a valid gross payment amount.';\r\n\r\n          resetResults();\r\n          return;\r\n        }\r\n\r\n        if (\r\n          !Number.isFinite(materialsAmount) ||\r\n          materialsAmount < 0\r\n        ) {\r\n          errorMessage.textContent =\r\n            'Please enter a valid materials amount.';\r\n\r\n          resetResults();\r\n          return;\r\n        }\r\n\r\n        if (materialsAmount > grossAmount) {\r\n          errorMessage.textContent =\r\n            'Qualifying materials cannot exceed the gross amount.';\r\n\r\n          resetResults();\r\n          return;\r\n        }\r\n\r\n        errorMessage.textContent = '';\r\n\r\n        const vatAmount =\r\n          grossAmount * vatRate;\r\n\r\n        const invoiceTotal =\r\n          grossAmount + vatAmount;\r\n\r\n        const deductionBase =\r\n          Math.max(\r\n            0,\r\n            grossAmount - materialsAmount\r\n          );\r\n\r\n        const deduction =\r\n          deductionBase * cisRate;\r\n\r\n        const netPayment =\r\n          invoiceTotal - deduction;\r\n\r\n        updateResults({\r\n          deduction: deduction,\r\n          netPayment: netPayment,\r\n          invoiceTotal: invoiceTotal,\r\n          deductionBase: deductionBase,\r\n          vatAmount: vatAmount\r\n        });\r\n      }\r\n\r\n      function formatFieldValue(field) {\r\n        if (field.value.trim() === '') {\r\n          return;\r\n        }\r\n\r\n        const amount = parseAmount(field.value);\r\n\r\n        if (\r\n          Number.isFinite(amount) &&\r\n          amount >= 0\r\n        ) {\r\n          field.value = amount.toLocaleString(\r\n            'en-GB',\r\n            {\r\n              minimumFractionDigits: 2,\r\n              maximumFractionDigits: 2\r\n            }\r\n          );\r\n        }\r\n      }\r\n\r\n      function removeFieldFormatting(field) {\r\n        if (field.value.trim() === '') {\r\n          return;\r\n        }\r\n\r\n        const amount = parseAmount(field.value);\r\n\r\n        if (Number.isFinite(amount)) {\r\n          field.value = amount;\r\n        }\r\n      }\r\n\r\n      grossField.addEventListener(\r\n        'input',\r\n        calculateCis\r\n      );\r\n\r\n      materialsField.addEventListener(\r\n        'input',\r\n        calculateCis\r\n      );\r\n\r\n      vatRateField.addEventListener(\r\n        'change',\r\n        calculateCis\r\n      );\r\n\r\n      cisRateField.addEventListener(\r\n        'change',\r\n        calculateCis\r\n      );\r\n\r\n      grossField.addEventListener(\r\n        'focus',\r\n        function () {\r\n          removeFieldFormatting(grossField);\r\n        }\r\n      );\r\n\r\n      materialsField.addEventListener(\r\n        'focus',\r\n        function () {\r\n          removeFieldFormatting(materialsField);\r\n        }\r\n      );\r\n\r\n      grossField.addEventListener(\r\n        'blur',\r\n        function () {\r\n          formatFieldValue(grossField);\r\n          calculateCis();\r\n        }\r\n      );\r\n\r\n      materialsField.addEventListener(\r\n        'blur',\r\n        function () {\r\n          formatFieldValue(materialsField);\r\n          calculateCis();\r\n        }\r\n      );\r\n\r\n      resetResults();\r\n    });\r\n  }\r\n\r\n  initialiseCisCalculators();\r\n\r\n  document.addEventListener(\r\n    'DOMContentLoaded',\r\n    initialiseCisCalculators\r\n  );\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>CONSTRUCTION TAX CIS Calculator Calculate CIS deductions, material costs and net payments for contractors and subcontractors working within the construction [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":405,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1400","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/pages\/1400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/comments?post=1400"}],"version-history":[{"count":0,"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/pages\/1400\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/pages\/405"}],"wp:attachment":[{"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/media?parent=1400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}