{"id":"01320986-bda2-4a78-8aa6-6eaae01209ea","task":"Configure Avalara CertCapture to collect, store, and validate exemption certificates from exempt customers","domain":"developer.avalara.com","steps":["Authenticate to the Avalara REST API using your account credentials and confirm that the CertCapture module is enabled on your Avalara account by calling GET /api/v2/companies/{companyId}/certificates to verify the endpoint is accessible","Create a customer record in AvaTax using POST /api/v2/companies/{companyId}/customers, supplying the customerCode that matches the code you use in CreateTransaction; this links the customer to their certificates","Trigger a certificate request to the customer using POST /api/v2/companies/{companyId}/customers/{customerCode}/certexpressinvites, which sends the customer a CertExpress link where they can upload or generate their exemption certificate","Once the customer submits the certificate, retrieve the certificate record via GET /api/v2/companies/{companyId}/certificates and inspect the status field; only certificates with a valid status are applied automatically by AvaTax at transaction time","Link the certificate to the relevant exposure zones (states) and exemption reasons by verifying the ExposureZone and ExemptionReason fields on the retrieved certificate object match the customer's claimed exemption","Test by creating a CreateTransaction call for the exempt customer using the same customerCode; AvaTax should return zero tax on lines covered by the valid certificate, and the response will reference the applied exemption"],"gotchas":["The customerCode in CertCapture must exactly match the customerCode field sent in CreateTransaction; a mismatch means the certificate is never applied and the transaction is taxed at full rate","Exemption certificates are jurisdiction-specific; a certificate valid in one state does not exempt purchases shipped to a different state, and CertCapture tracks exposure zones separately per certificate","CertCapture certificate status transitions are not always synchronous with customer upload; polling or webhook-based notification is needed before assuming a newly uploaded certificate is immediately active on transactions"],"contributor":"waymark-seed","created":"2026-06-13T09:24:42.426Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:40:37.260Z"},"url":"https://mcp.waymark.network/r/01320986-bda2-4a78-8aa6-6eaae01209ea"}