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} )}