diff --git a/lib/WebGUI/Shop/Tax.pm b/lib/WebGUI/Shop/Tax.pm
index 2beb79f89..f717b9049 100644
--- a/lib/WebGUI/Shop/Tax.pm
+++ b/lib/WebGUI/Shop/Tax.pm
@@ -362,6 +362,31 @@ sub www_deleteTax {
#-------------------------------------------------------------------
+=head2 www_addTax ( )
+
+Add new tax information into the database, via the UI.
+
+=cut
+
+sub www_addTax {
+ my $self = shift;
+ my $session = $self->session;
+ my $admin = WebGUI::Shop::Admin->new($session);
+ return $session->privilege->insufficient
+ unless $admin->canManage;
+ my $params;
+ my ($form) = $session->quick('form');
+ $params->{country} = $form->get('country');
+ $params->{state} = $form->get('state');
+ $params->{city} = $form->get('city');
+ $params->{code} = $form->get('code');
+ $params->{taxRate} = $form->get('taxRate');
+ $self->add($params);
+ return $self->www_manage;
+}
+
+#-------------------------------------------------------------------
+
=head2 www_exportTax ( )
Export the entire tax table as a CSV file the user can download.
@@ -479,11 +504,37 @@ sub www_manage {
. WebGUI::Form::submit($session,{value=>$i18n->get('import'), extras=>q{style="float: left;"} })
. q{}
. WebGUI::Form::formFooter($session);
- my $output =sprintf <get(364, 'WebGUI'), $exportForm, $importForm;
+
+ my $addForm = WebGUI::HTMLForm->new($session,action=>$url->page('shop=tax;method=addTax'));
+ $addForm->text(
+ label => $i18n->get('country'),
+ name => 'country',
+ );
+ $addForm->text(
+ label => $i18n->get('state'),
+ name => 'state',
+ );
+ $addForm->text(
+ label => $i18n->get('city'),
+ name => 'city',
+ );
+ $addForm->text(
+ label => $i18n->get('code'),
+ name => 'code',
+ );
+ $addForm->text(
+ label => $i18n->get('tax rate'),
+ name => 'taxRate',
+ );
+ $addForm->submit(
+ value => $i18n->get('add a tax'),
+ );
+ my $output =sprintf <get(364, 'WebGUI'), $addForm->print, $exportForm, $importForm;
diff --git a/lib/WebGUI/i18n/English/Tax.pm b/lib/WebGUI/i18n/English/Tax.pm
index d0c1100da..7fa8c17fc 100644
--- a/lib/WebGUI/i18n/English/Tax.pm
+++ b/lib/WebGUI/i18n/English/Tax.pm
@@ -51,6 +51,11 @@ our $I18N = {
context => q|To remove one tax entry from the tax tables.|,
},
+ 'add a tax' => {
+ message => q|Add new tax information|,
+ lastUpdated => 1206395083,
+ },
+
};
1;