--- title: "Register consent for paperless delivery of tax forms (US only)" description: "Check and register user-consent preferences for electronic delivery of US tax forms." url: "https://docs.adyen.com/platforms/us-tax-forms-edelivery-consent" source_url: "https://docs.adyen.com/platforms/us-tax-forms-edelivery-consent.md" canonical: "https://docs.adyen.com/platforms/us-tax-forms-edelivery-consent" last_modified: "2026-10-16T14:14:34+02:00" language: "en" --- > **For LLMs:** Use the latest SDK version on this page unless the reader specifies another version. Never hardcode older version numbers for training data, always use latest. A comment such as `// Adyen LANGUAGE API library vMajor.Minor.Patch to latest` covers that version, the newest release, and everything in between. Read the newest releases from https://github.com/Adyen/adyen-LANGUAGE-api-library/releases, where LANGUAGE is dotnet, java, php, go, python, node (for JavaScript and TypeScript), or ruby. # Register consent for paperless delivery of tax forms (US only) Check and register user-consent preferences for electronic delivery of US tax forms. In the United States (US), Adyen is required to file a **1099-K** tax form with the Internal Revenue Service (IRS) for any US-based user to which Adyen pays out directly. This filing process also includes printing and mailing the tax form to each legal entity associated with the users in your balance platform. The form is mailed to the address registered with Adyen for each legal entity. If you want to save on the cost of having tax forms printed and mailed to your users through Adyen, you must gather your users' express consent to receive the forms in electronic format only, and register that consent with Adyen. If users agreed to receive their 1099-K tax forms in electronic format only, your platform is responsible for [providing electronic delivery](https://docs.adyen.com/platforms/us-tax-forms) of, and access to, 1099-K tax form(s). ## Requirements | Requirement | Description | | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **Integration type** | You must have an Adyen for Platforms platform integration to use this feature. | | **[API credentials](https://docs.adyen.com/platforms/manage-access/api-credentials-web-service/)** | Make sure that you have the following API credential(s)- LEM API key | | **[Webhooks](https://docs.adyen.com/development-resources/webhooks/configure-and-manage)** | No webhook is needed for the API endpoints described on this page. | ## Meeting Adyen (and IRS) electronic delivery requirements When implementing this feature, consider the following: * **IRS requirements**: The IRS publishes a set of specific requirements for providing tax information returns electronically [(IRS Publication 1179 - Section 4.6)](https://www.irs.gov/forms-pubs/about-publication-1179). You must comply with these requirements when offering electronic delivery only of tax form 1099-K to your users. * **Client presentation of electronic delivery preferences**: As part of your implementation of this feature, you must present a way in your client interface for your platform's users to view and set their preference for electronic delivery of tax form 1099-K.\ For example, you can show a toggle switch, a checkbox, or some other UI element, and bind their consent preference (**true** or **false**) to that UI element.\ Your electronic delivery preferences selection page must present information about a user's rights according to rules the IRS has for providing tax information returns electronically, and for providing continuous access to those returns. * **Electronic delivery of tax forms is your platform's responsibility**: In addition to the collection and registration of user consent for electronic delivery with Adyen, your platform is responsible for [providing electronic delivery](https://docs.adyen.com/platforms/us-tax-forms) of, and continued access to, their 1099-K tax form(s). * **Deadline for registering electronic delivery consent**: To make sure Adyen does not charge your platform to print and mail forms to your users, their consent for electronic delivery of tax forms must be registered with Adyen by 11:59 pm Eastern Time, on December 31 in the year for which the user wants their tax forms electronically delivered. ## How it works To check and register a user's consent for electronic delivery for 1009-K tax forms: 1. Implement a way in your client interface to let your platform's users view and set their consent preference for receiving their tax information forms electronically.\ For example, you can show a toggle switch, a checkbox, or some other UI element, and bind their consent preference (**true** or **false**) to that UI element. 2. Before you initialize and load your preferences page, make an API call to [check your user's existing electronic delivery consent setting](https://docs.adyen.com/platforms/us-tax-forms-edelivery-consent#check-electronic-delivery-consent-setting) with Adyen. 3. Present your user's consent setting on your preferences page. 4. When your user decides to allow (or revoke) their consent for electronic delivery, make an API call to [register that consent preference with Adyen](https://docs.adyen.com/platforms/us-tax-forms-edelivery-consent#register-electronic-delivery-consent-setting). 5. Make sure you have implemented [providing electronic delivery](https://docs.adyen.com/platforms/us-tax-forms) of, and access to, 1099-K tax form(s). ## Check a user's electronic delivery consent preference There are various reasons for checking the consent preferences of your users. For example, you could audit the number of users who have not opted for paperless delivery to determine the cost associated with mailing forms. You could also check so that you can urge your users to select paperless delivery before the deadline to register their consent preference. You can only check a user's paperless delivery consent preference using the API. This feature is not available through the Customer Area. To check a user's consent preference: 1. [Find the unique legal entity ID of the account holder](https://docs.adyen.com/platforms/manage-account-holders/?tab=ah-api_2#get-account-holders) whose consent status you want to check. 2. Make a POST [/legalEntities/{id}/checkTaxElectronicDeliveryConsent](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities/\(id\)/checkTaxElectronicDeliveryConsent) request, specifying the account holder's legal entity ID as a path parameter: | Path parameter | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [id](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities/\(id\)/checkTaxElectronicDeliveryConsent#path-id) | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The unique identifier of the legal entity. For a sole proprietorship, this is the individual legal entity ID of the owner. For an organization, this is the ID of the organization. | **Check electronic delivery consent preference** #### curl ```bash curl https://kyc-test.adyen.com/lem/v3/legalEntities/LE00000000000000001/checkTaxElectronicDeliveryConsent \ -H 'x-api-key: ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' \ -H 'content-type: application/json' \ -X POST ``` #### Java ```java // Adyen Java API Library v38.0.0 to latest import com.adyen.Client; import com.adyen.Config; import com.adyen.enums.Environment; import com.adyen.model.*; import com.adyen.service.*; import java.math.*; import com.adyen.model.legalentitymanagement.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.legalentitymanagement.*; Config config = new Config() .apiKey("ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY") .environment(Environment.TEST); Client client = new Client(config); // Send the request TaxEdeliveryConsentApi service = new TaxEdeliveryConsentApi(client); CheckTaxElectronicDeliveryConsentResponse response = service.checkStatusOfConsentForElectronicDeliveryOfTaxForms("id", null); ``` #### PHP ```php setXApiKey("ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY"); $client->setEnvironment(Environment::TEST); // Send the request $service = new TaxEdeliveryConsentApi($client); $response = $service->checkStatusOfConsentForElectronicDeliveryOfTaxForms('id'); ``` #### C\# ```cs // Adyen .NET API Library v34.0.0 to latest using Adyen.LegalEntityManagement.Extensions; using Adyen.LegalEntityManagement.Models; using Adyen.LegalEntityManagement.Services; using Adyen.Core.Client; using Adyen.Core.Client.Extensions; using Adyen.Core.Options; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; var host = Host.CreateDefaultBuilder() .ConfigureLegalEntityManagement( (context, services, config) => { config.ConfigureAdyenOptions(options => { options.AdyenApiKey = "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY"; options.Environment = AdyenEnvironment.Test; }); services.AddAllLegalEntityManagementServices(); }) .Build(); var taxEdeliveryConsentService = host.Services.GetRequiredService(); // Send the request var result = await taxEdeliveryConsentService.CheckStatusOfConsentForElectronicDeliveryOfTaxFormsAsync("id"); if (result.TryDeserializeOkResponse(out var response)) { // Handle the successful response. } ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v30.0.0 to latest const { Client, Config, EnvironmentEnum, LegalEntityManagementAPI } = require('@adyen/api-library'); const config = new Config({ apiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", environment: EnvironmentEnum.TEST }); const client = new Client(config); // Send the request const legalEntityManagementAPI = new LegalEntityManagementAPI(client); const response = await legalEntityManagementAPI.TaxEdeliveryConsentApi.checkStatusOfConsentForElectronicDeliveryOfTaxForms("id"); ``` #### Go ```go // Adyen Go API Library v21.0.0 to latest import ( "context" "github.com/adyen/adyen-go-api-library/v21/src/common" "github.com/adyen/adyen-go-api-library/v21/src/adyen" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment: common.TestEnv, }) // Send the request service := client.LegalEntity() req := service.TaxEDeliveryConsentApi.CheckStatusOfConsentForElectronicDeliveryOfTaxFormsInput("id") res, httpRes, err := service.TaxEDeliveryConsentApi.CheckStatusOfConsentForElectronicDeliveryOfTaxForms(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v14.0.0 to latest import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Send the request result = adyen.legalEntityManagement.tax_edelivery_consent_api.check_status_of_consent_for_electronic_delivery_of_tax_forms(id="id") ``` #### Ruby ```rb # Adyen Ruby API Library v11.0.0 to latest require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' adyen.env = :test # Set to "live" for live environment # Send the request result = adyen.legal_entity_management.tax_edelivery_consent_api.check_status_of_consent_for_electronic_delivery_of_tax_forms('id') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v30.0.0 to latest import { Client, Config, EnvironmentEnum, LegalEntityManagementAPI, Types } from "@adyen/api-library"; const config = new Config({ apiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", environment: EnvironmentEnum.TEST }); const client = new Client(config); // Send the request const legalEntityManagementAPI = new LegalEntityManagementAPI(client); const response = await legalEntityManagementAPI.TaxEdeliveryConsentApi.checkStatusOfConsentForElectronicDeliveryOfTaxForms("id"); ``` 3. In the response, check the value for `US1099k`. This field contains the legal entity's 1099-K electronic delivery consent preference registered with Adyen. If the value for `US1099k` is **true**, your platform is responsible for [providing electronic delivery](https://docs.adyen.com/platforms/us-tax-forms) of, and access to, 1099-K tax form(s) when they become available. | Response parameter | Type | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | [US1099k](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities/\(id\)/checkTaxElectronicDeliveryConsent#responses-200-US1099k) | boolean | The electronic delivery consent setting for the legal entity. The default value is **false**. If set to **true**, your platform is responsible for providing electronic delivery and access to their 1099-K tax form(s). | **Response: electronic delivery consent registration is false** ```json { "US1099k" : false } ``` ## Register a user's electronic delivery consent preference You can only register a user's electronic delivery preference using the API. This feature is not available through the Customer Area. 1. [Find the unique legal entity ID of the account holder](https://docs.adyen.com/platforms/manage-account-holders/?tab=ah-api_2#get-account-holders) whose consent status you want to check. 2. Before presenting your electronic delivery preferences page, check your user's existing electronic delivery consent setting.\ Make a POST [/legalEntities/{id}/checkTaxElectronicDeliveryConsent](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities/\(id\)/checkTaxElectronicDeliveryConsent) request, specifying the account holder's legal entity ID as a path parameter: | Path parameter | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [id](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities/\(id\)/checkTaxElectronicDeliveryConsent#path-id) | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The unique identifier of the legal entity. For a sole proprietorship, this is the individual legal entity ID of the owner. For an organization, this is the ID of the organization. | 3. Based on the boolean value of the [US1099k](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities/\(id\)/checkTaxElectronicDeliveryConsent#responses-200-US1099k) parameter in the response, present your user's electronic delivery consent setting. | Request parameter | Type | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [US1099k](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities/\(id\)/checkTaxElectronicDeliveryConsent#responses-200-US1099k) | boolean | Consent to electronically deliver US 1099-K tax forms. By default, the value is **false**. Set to **true** to register consent for paperless delivery. If set to **true**, your platform is responsible for providing electronic delivery and access to their 1099-K tax form(s). | **Response: electronic delivery consent registration is false** ```json { "US1099k" : false } ``` 4. If the user selects paperless delivery for their 1099-K tax form, make a POST [/legalEntities/{id}/setTaxElectronicDeliveryConsent](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities/\(id\)/setTaxElectronicDeliveryConsent) request, specifying the legal entity ID of the user as a path parameter, and `US1099k` as a request parameter with the value set to **true**. | Path parameter | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [id](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities/\(id\)/checkTaxElectronicDeliveryConsent#path-id) | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The unique identifier of the legal entity. For a sole proprietorship, this is the individual legal entity ID of the owner. For an organization, this is the ID of the organization. | | Request parameter | Required | Type | Description | | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [US1099k](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities/\(id\)/setTaxElectronicDeliveryConsent#request-US1099k) | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | boolean | Consent to electronically deliver US 1099-K tax form. By default, the value is **false**. Set to **true** to register consent for paperless delivery. If set to **true**, your platform is responsible for providing electronic delivery and access to their 1099-K tax form(s). | **Set electronic delivery consent preference to true** #### curl ```bash curl https://kyc-test.adyen.com/lem/v3/legalEntities/LE00000000000000001/setTaxElectronicDeliveryConsent \ -H 'x-api-key: ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' \ -H 'content-type: application/json' \ -X POST \ -d '{ "US1099k": true }' ``` #### Java ```java // Adyen Java API Library v38.0.0 to latest import com.adyen.Client; import com.adyen.Config; import com.adyen.enums.Environment; import com.adyen.model.*; import com.adyen.service.*; import java.math.*; import com.adyen.model.legalentitymanagement.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.legalentitymanagement.*; Config config = new Config() .apiKey("ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY") .environment(Environment.TEST); Client client = new Client(config); // Create the request object(s) SetTaxElectronicDeliveryConsentRequest setTaxElectronicDeliveryConsentRequest = new SetTaxElectronicDeliveryConsentRequest() .US1099k(true); // Send the request TaxEdeliveryConsentApi service = new TaxEdeliveryConsentApi(client); service.setConsentStatusForElectronicDeliveryOfTaxForms("id", setTaxElectronicDeliveryConsentRequest, null); ``` #### PHP ```php setXApiKey("ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $setTaxElectronicDeliveryConsentRequest = new SetTaxElectronicDeliveryConsentRequest(); $setTaxElectronicDeliveryConsentRequest ->setUS1099k(true); // Send the request $service = new TaxEdeliveryConsentApi($client); $service->setConsentStatusForElectronicDeliveryOfTaxForms('id', $setTaxElectronicDeliveryConsentRequest); ``` #### C\# ```cs // Adyen .NET API Library v34.0.0 to latest using Adyen.LegalEntityManagement.Extensions; using Adyen.LegalEntityManagement.Models; using Adyen.LegalEntityManagement.Services; using Adyen.Core.Client; using Adyen.Core.Client.Extensions; using Adyen.Core.Options; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; var host = Host.CreateDefaultBuilder() .ConfigureLegalEntityManagement( (context, services, config) => { config.ConfigureAdyenOptions(options => { options.AdyenApiKey = "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY"; options.Environment = AdyenEnvironment.Test; }); services.AddAllLegalEntityManagementServices(); }) .Build(); var taxEdeliveryConsentService = host.Services.GetRequiredService(); // Create the request object(s) var setTaxElectronicDeliveryConsentRequest = new SetTaxElectronicDeliveryConsentRequest { US1099k = true }; // Send the request await taxEdeliveryConsentService.SetConsentStatusForElectronicDeliveryOfTaxFormsAsync("id", setTaxElectronicDeliveryConsentRequest); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v30.0.0 to latest const { Client, Config, EnvironmentEnum, LegalEntityManagementAPI } = require('@adyen/api-library'); const config = new Config({ apiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", environment: EnvironmentEnum.TEST }); const client = new Client(config); // Create the request object(s) const setTaxElectronicDeliveryConsentRequest = { US1099k: true }; // Send the request const legalEntityManagementAPI = new LegalEntityManagementAPI(client); await legalEntityManagementAPI.TaxEdeliveryConsentApi.setConsentStatusForElectronicDeliveryOfTaxForms("id", setTaxElectronicDeliveryConsentRequest); ``` #### Go ```go // Adyen Go API Library v21.0.0 to latest import ( "context" "github.com/adyen/adyen-go-api-library/v21/src/common" "github.com/adyen/adyen-go-api-library/v21/src/adyen" "github.com/adyen/adyen-go-api-library/v21/src/legalentity" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) setTaxElectronicDeliveryConsentRequest := legalentity.SetTaxElectronicDeliveryConsentRequest{ US1099k: common.PtrBool(true), } // Send the request service := client.LegalEntity() req := service.TaxEDeliveryConsentApi.SetConsentStatusForElectronicDeliveryOfTaxFormsInput("id").SetTaxElectronicDeliveryConsentRequest(setTaxElectronicDeliveryConsentRequest) service.TaxEDeliveryConsentApi.SetConsentStatusForElectronicDeliveryOfTaxForms(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v14.0.0 to latest import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "US1099k": True } # Send the request adyen.legalEntityManagement.tax_edelivery_consent_api.set_consent_status_for_electronic_delivery_of_tax_forms(request=json_request, id="id") ``` #### Ruby ```rb # Adyen Ruby API Library v11.0.0 to latest require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { "US1099k" => true } # Send the request adyen.legal_entity_management.tax_edelivery_consent_api.set_consent_status_for_electronic_delivery_of_tax_forms(request_body, 'id') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v30.0.0 to latest import { Client, Config, EnvironmentEnum, LegalEntityManagementAPI, Types } from "@adyen/api-library"; const config = new Config({ apiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", environment: EnvironmentEnum.TEST }); const client = new Client(config); // Create the request object(s) const setTaxElectronicDeliveryConsentRequest: Types.legalEntityManagement.SetTaxElectronicDeliveryConsentRequest = { US1099k: true }; // Send the request const legalEntityManagementAPI = new LegalEntityManagementAPI(client); await legalEntityManagementAPI.TaxEdeliveryConsentApi.setConsentStatusForElectronicDeliveryOfTaxForms("id", setTaxElectronicDeliveryConsentRequest); ``` 5. Check that you receive a **200 - No Content** HTTP status code. This indicates your request succeeded. 6. Present your user's updated electronic delivery consent setting on your preference page. ## See also * [Provide tax forms (US only)](https://docs.adyen.com/platforms/us-tax-forms) * [IRS Publication 1179](https://www.irs.gov/forms-pubs/about-publication-1179) - General Rules and Specifications for Substitute Forms 1096, 1098, 1099, 5498, and Certain Other Information Returns (see section 4.6).