From 4bc683c38d9d2af3f2df93acae5ed4fe58b4d4b4 Mon Sep 17 00:00:00 2001 From: Thomas Rittson <31796059+eliykat@users.noreply.github.com> Date: Tue, 24 Aug 2021 06:52:59 +1000 Subject: [PATCH] Increase sales tax precision from 2 to 3 decimal places (#1525) * Allow for tax rates with 3 decimal places * Update input validation * Increase precision of create procedure --- src/Admin/Views/Tools/TaxRateAddEdit.cshtml | 2 +- .../dbo/Stored Procedures/TaxRate_Create.sql | 2 +- src/Sql/dbo/Tables/TaxRate.sql | 2 +- .../DbScripts/2021-08-19_00_FixTaxRate.sql | 44 +++++++++++++++++++ 4 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 util/Migrator/DbScripts/2021-08-19_00_FixTaxRate.sql diff --git a/src/Admin/Views/Tools/TaxRateAddEdit.cshtml b/src/Admin/Views/Tools/TaxRateAddEdit.cshtml index c72f9337f0..ea6bd15561 100644 --- a/src/Admin/Views/Tools/TaxRateAddEdit.cshtml +++ b/src/Admin/Views/Tools/TaxRateAddEdit.cshtml @@ -344,7 +344,7 @@
- +
%
diff --git a/src/Sql/dbo/Stored Procedures/TaxRate_Create.sql b/src/Sql/dbo/Stored Procedures/TaxRate_Create.sql index be88fe60b3..f51a3f9bf7 100644 --- a/src/Sql/dbo/Stored Procedures/TaxRate_Create.sql +++ b/src/Sql/dbo/Stored Procedures/TaxRate_Create.sql @@ -3,7 +3,7 @@ CREATE PROCEDURE [dbo].[TaxRate_Create] @Country VARCHAR(50), @State VARCHAR(2), @PostalCode VARCHAR(10), - @Rate DECIMAL(5,2), + @Rate DECIMAL(6,3), @Active BIT AS BEGIN diff --git a/src/Sql/dbo/Tables/TaxRate.sql b/src/Sql/dbo/Tables/TaxRate.sql index ea2ba41ae3..7d34fb0b87 100644 --- a/src/Sql/dbo/Tables/TaxRate.sql +++ b/src/Sql/dbo/Tables/TaxRate.sql @@ -3,7 +3,7 @@ CREATE TABLE [dbo].[TaxRate] ( [Country] VARCHAR(50) NOT NULL, [State] VARCHAR(2) NULL, [PostalCode] VARCHAR(10) NOT NULL, - [Rate] DECIMAL(5,2) NOT NULL, + [Rate] DECIMAL(6,3) NOT NULL, [Active] BIT NOT NULL, CONSTRAINT [PK_TaxRate] PRIMARY KEY CLUSTERED ([Id] ASC) ); diff --git a/util/Migrator/DbScripts/2021-08-19_00_FixTaxRate.sql b/util/Migrator/DbScripts/2021-08-19_00_FixTaxRate.sql new file mode 100644 index 0000000000..e307d1dc7b --- /dev/null +++ b/util/Migrator/DbScripts/2021-08-19_00_FixTaxRate.sql @@ -0,0 +1,44 @@ +IF OBJECT_ID('[dbo].[TaxRate]') IS NOT NULL +BEGIN + ALTER TABLE + [dbo].[TaxRate] + ALTER COLUMN + [Rate] DECIMAL(6,3) NOT NULL; +END + +IF OBJECT_ID('[dbo].[TaxRate_Create]') IS NOT NULL +BEGIN + DROP PROCEDURE [dbo].[TaxRate_Create] +END +GO + +CREATE PROCEDURE [dbo].[TaxRate_Create] + @Id VARCHAR(40) OUTPUT, + @Country VARCHAR(50), + @State VARCHAR(2), + @PostalCode VARCHAR(10), + @Rate DECIMAL(6,3), + @Active BIT +AS +BEGIN + SET NOCOUNT ON + + INSERT INTO [dbo].[TaxRate] + ( + [Id], + [Country], + [State], + [PostalCode], + [Rate], + [Active] + ) + VALUES + ( + @Id, + @Country, + @State, + @PostalCode, + @Rate, + 1 + ) +END