diff --git a/.changeset/tasty-moose-obey.md b/.changeset/tasty-moose-obey.md
new file mode 100644
index 0000000..7f4b2fb
--- /dev/null
+++ b/.changeset/tasty-moose-obey.md
@@ -0,0 +1,5 @@
+---
+"saleor-app-taxes": minor
+---
+
+Make companyCode optional in Avatax.
diff --git a/apps/taxes/src/modules/avatax/avatax-config.ts b/apps/taxes/src/modules/avatax/avatax-config.ts
index 6340e26..4521aa6 100644
--- a/apps/taxes/src/modules/avatax/avatax-config.ts
+++ b/apps/taxes/src/modules/avatax/avatax-config.ts
@@ -6,7 +6,7 @@ export const avataxConfigSchema = z.object({
username: z.string().min(1, { message: "Username requires at least one character." }),
password: z.string().min(1, { message: "Password requires at least one character." }),
isSandbox: z.boolean(),
- companyCode: z.string().min(1, { message: "Company code requires at least one character." }),
+ companyCode: z.string().optional(),
isAutocommit: z.boolean(),
shippingTaxCode: z.string().optional(),
});
diff --git a/apps/taxes/src/modules/avatax/maps/avatax-order-fulfilled-map.ts b/apps/taxes/src/modules/avatax/maps/avatax-order-fulfilled-map.ts
index 824e451..b0e9b8d 100644
--- a/apps/taxes/src/modules/avatax/maps/avatax-order-fulfilled-map.ts
+++ b/apps/taxes/src/modules/avatax/maps/avatax-order-fulfilled-map.ts
@@ -29,7 +29,7 @@ const mapPayload = ({ order, config }: CommitTransactionMapPayloadArgs): CommitT
return {
transactionCode,
- companyCode: config.companyCode,
+ companyCode: config.companyCode ?? "",
documentType: DocumentType.SalesInvoice,
model: {
commit: true,
diff --git a/apps/taxes/src/modules/avatax/ui/avatax-configuration-form.tsx b/apps/taxes/src/modules/avatax/ui/avatax-configuration-form.tsx
index ce5c6f8..26fe017 100644
--- a/apps/taxes/src/modules/avatax/ui/avatax-configuration-form.tsx
+++ b/apps/taxes/src/modules/avatax/ui/avatax-configuration-form.tsx
@@ -250,6 +250,7 @@ export const AvataxConfigurationForm = () => {
)}
/>
+
{formState.errors.password && (
{formState.errors.password.message}
)}
@@ -260,15 +261,16 @@ export const AvataxConfigurationForm = () => {
control={control}
defaultValue={defaultValues.companyCode}
render={({ field }) => (
-
+
)}
/>
+
+ {"When not provided, the default company will be used. "}
+
+ Read more
+ {" "}
+ about company codes.
+
{formState.errors.companyCode && (
{formState.errors.companyCode.message}
)}