# Recuperar retenciones de impuestos para un enlace Recuperar información de retención de impuestos desde un enlace específico. El número máximo de retenciones de impuestos que se pueden devolver para un período es 500. Endpoint: POST /api/tax-retentions/ Version: 1.223.0 Security: basicAuth ## Query parameters: - `omit` (string) Omite ciertos campos para que no se devuelvan en la respuesta. Para más información, consulta nuestro artículo del DevPortal Filtrando respuestas. - `fields` (string) Devuelve solo los campos especificados en la respuesta. Para obtener más información, consulta nuestro artículo del DevPortal Filtrando respuestas. ## Request fields (application/json): - `link` (string, required) El para el que deseas recuperar información. Example: "c81a1dea-6dd6-4999-8b9f-541ee8197058" - `date_from` (string, required) La fecha desde la cual deseas comenzar a obtener datos, en formato . ⚠️ El valor de no puede ser mayor que . Example: "2020-08-05" - `date_to` (string, required) La fecha en la que deseas dejar de recibir datos, en formato . ⚠️ El valor de no puede ser mayor que la fecha de hoy (en otras palabras, no se permiten fechas futuras). Example: "2020-10-05" - `type` (string, required) El tipo de retención de impuestos en relación con la factura (desde la perspectiva del propietario del Link). - se refiere a una retención de impuestos para una factura enviada. - se refiere a una retención de impuestos para una factura recibida. Enum: "OUTFLOW", "INFLOW" - `attach_xml` (boolean) Cuando se establece en , recibirás la factura XML en la respuesta. - `save_data` (boolean) Indica si se debe o no persistir los datos en Belvo. Por defecto, esto está configurado en y devolvemos una respuesta 201 Created. Cuando se establece en , los datos no se persistirán y devolvemos una respuesta 200 OK. Example: true ## Response 200 fields (application/json): - `id` (string) Identificador único de Belvo para el elemento actual. Example: "0d3ffb69-f83b-456e-ad8e-208d0998d71d" - `link` (string,null) El al que pertenecen los datos. Example: "30cb4806-6e00-48a4-91c9-ca55968576c8" - `collected_at` (string, required) La marca de tiempo ISO-8601 cuando se recopiló el punto de datos. Example: "2022-02-09T08:45:50.406032Z" - `created_at` (string) La marca de tiempo ISO-8601 de cuando se creó el punto de datos en la base de datos de Belvo. Example: "2022-02-09T08:45:50.406032Z" - `invoice_identification` (string,null, required) El ID único de la institución fiscal para la factura a la que se refiere la retención de impuestos. Example: "def404af-5eef-4112-aa99-d1ec8493b89a" - `version` (string,null, required) La versión CFDI de las retenciones de impuestos. Example: "1.0" - `code` (integer,null, required) El código de retención de impuestos. Para obtener más información, consulta nuestro artículo del DevPortal sobre los catálogos del SAT. Example: 25 - `issued_at` (string,null, required) La marca de tiempo ISO-8601 de cuando se emitió la retención de impuestos. Example: "2019-01-03T21:10:40.000Z" - `certified_at` (string,null, required) La marca de tiempo ISO-8601 de cuando se certificó la retención de impuestos. Example: "2019-01-03T21:10:41.000Z" - `cancelled_at` (string,null, required) La marca de tiempo ISO-8601 de cuando se canceló la retención de impuestos (si corresponde). - `sender_id` (string,null, required) El ID fiscal del remitente de la factura. Example: "JKUF980404P0" - `sender_name` (string,null, required) El nombre del remitente de la factura. Example: "Roberto Nunez Batman" - `receiver_nationality` (string,null, required) Si el receptor de la factura es un nacional mexicano o no. Si el receptor no se considera un nacional mexicano, los impuestos retenidos pueden calcularse de manera diferente. Valores posibles: - - Enum: "NATIONAL", "FOREIGN" - `receiver_id` (string,null, required) El ID fiscal del receptor de la factura. Example: "GYGK3207809L1" - `receiver_name` (string,null, required) El nombre del receptor de la factura. Example: "ACME LTD" - `total_invoice_amount` (number,null, required) El monto total de la factura al que se refiere la retención de impuestos. Example: 53249.8 - `total_exempt_amount` (number,null, required) Cantidad total que está exenta de impuestos. Example: 1000.8 - `total_retained_amount` (number,null, required) Total de impuestos retenidos. Example: 1550.7 - `total_taxable_amount` (number,null, required) El monto total que se puede gravar. Se calcula como - . Example: 43249 - `retention_breakdown` (array,null, required) Un desglose de los impuestos retenidos. - `retention_breakdown.base_amount` (number,null, required) El monto base que se utilizó para calcular la retención de impuestos. Example: 0.03 - `retention_breakdown.tax_type` (string,null, required) Atributo opcional para indicar el tipo de impuesto retenido para el período o año según el catálogo del SAT. Example: "01" - `retention_breakdown.retained_amount` (number,null, required) El monto retenido. - `retention_breakdown.payment_status` (string,null, required) Indica si el impuesto ha sido pagado o no. Puede ser: - - Enum: "PAID", "PROVISIONED" - `xml` (string,null, required) El documento de retención de impuestos en formato XML. Example: "=XML-STRING=" ## Response 201 fields (application/json): - `id` (string) Identificador único de Belvo para el elemento actual. Example: "0d3ffb69-f83b-456e-ad8e-208d0998d71d" - `link` (string,null) El al que pertenecen los datos. Example: "30cb4806-6e00-48a4-91c9-ca55968576c8" - `collected_at` (string, required) La marca de tiempo ISO-8601 cuando se recopiló el punto de datos. Example: "2022-02-09T08:45:50.406032Z" - `created_at` (string) La marca de tiempo ISO-8601 de cuando se creó el punto de datos en la base de datos de Belvo. Example: "2022-02-09T08:45:50.406032Z" - `invoice_identification` (string,null, required) El ID único de la institución fiscal para la factura a la que se refiere la retención de impuestos. Example: "def404af-5eef-4112-aa99-d1ec8493b89a" - `version` (string,null, required) La versión CFDI de las retenciones de impuestos. Example: "1.0" - `code` (integer,null, required) El código de retención de impuestos. Para obtener más información, consulta nuestro artículo del DevPortal sobre los catálogos del SAT. Example: 25 - `issued_at` (string,null, required) La marca de tiempo ISO-8601 de cuando se emitió la retención de impuestos. Example: "2019-01-03T21:10:40.000Z" - `certified_at` (string,null, required) La marca de tiempo ISO-8601 de cuando se certificó la retención de impuestos. Example: "2019-01-03T21:10:41.000Z" - `cancelled_at` (string,null, required) La marca de tiempo ISO-8601 de cuando se canceló la retención de impuestos (si corresponde). - `sender_id` (string,null, required) El ID fiscal del remitente de la factura. Example: "JKUF980404P0" - `sender_name` (string,null, required) El nombre del remitente de la factura. Example: "Roberto Nunez Batman" - `receiver_nationality` (string,null, required) Si el receptor de la factura es un nacional mexicano o no. Si el receptor no se considera un nacional mexicano, los impuestos retenidos pueden calcularse de manera diferente. Valores posibles: - - Enum: "NATIONAL", "FOREIGN" - `receiver_id` (string,null, required) El ID fiscal del receptor de la factura. Example: "GYGK3207809L1" - `receiver_name` (string,null, required) El nombre del receptor de la factura. Example: "ACME LTD" - `total_invoice_amount` (number,null, required) El monto total de la factura al que se refiere la retención de impuestos. Example: 53249.8 - `total_exempt_amount` (number,null, required) Cantidad total que está exenta de impuestos. Example: 1000.8 - `total_retained_amount` (number,null, required) Total de impuestos retenidos. Example: 1550.7 - `total_taxable_amount` (number,null, required) El monto total que se puede gravar. Se calcula como - . Example: 43249 - `retention_breakdown` (array,null, required) Un desglose de los impuestos retenidos. - `retention_breakdown.base_amount` (number,null, required) El monto base que se utilizó para calcular la retención de impuestos. Example: 0.03 - `retention_breakdown.tax_type` (string,null, required) Atributo opcional para indicar el tipo de impuesto retenido para el período o año según el catálogo del SAT. Example: "01" - `retention_breakdown.retained_amount` (number,null, required) El monto retenido. - `retention_breakdown.payment_status` (string,null, required) Indica si el impuesto ha sido pagado o no. Puede ser: - - Enum: "PAID", "PROVISIONED" - `xml` (string,null, required) El documento de retención de impuestos en formato XML. Example: "=XML-STRING=" ## Response 403 fields (application/json): - `code` (string) Un código de error único () que te permite clasificar y manejar el error de manera programática. ℹ️ Consulta nuestro DevPortal para obtener más información sobre cómo manejar 403 access_to_resource_denied. Example: "access_to_resource_denied" - `message` (string) Una breve descripción del error. Para los errores , la descripción es: - . Example: "You don't have access to this resource." - `request_id` (string) Un ID único de 32 caracteres de la solicitud (que coincide con un patrón regex de: ). Proporcione este ID al contactar al equipo de soporte de Belvo para acelerar las investigaciones. Example: "9e7b283c6efa449c9c028a16b5c249fb" ## Response 404 fields (application/json): - `code` (string) Un código de error único () que te permite clasificar y manejar el error de manera programática. Example: "not_found" - `message` (string) Una breve descripción del error. Para errores , la descripción es: - Example: "Not found" - `request_id` (string) Un ID único de 32 caracteres de la solicitud (que coincide con un patrón regex de: ). Proporcione este ID al contactar al equipo de soporte de Belvo para acelerar las investigaciones. Example: "9e7b283c6efa449c9c028a16b5c249fb" ## Response 408 fields (application/json): - `code` (string) Un código de error único () que te permite clasificar y manejar el error de manera programática. ℹ️ Consulta nuestro DevPortal para obtener más información sobre cómo manejar errores 408 request_timeout. Example: "request_timeout" - `message` (string) Una breve descripción del error. Para los errores de , la descripción es: - . Example: "The request timed out, you can retry asking for less data by changing your query parameters" - `request_id` (string) Un ID único de 32 caracteres de la solicitud (que coincide con un patrón regex de: ). Proporcione este ID al contactar al equipo de soporte de Belvo para acelerar las investigaciones. Example: "9e7b283c6efa449c9c028a16b5c249fb" ## Response 428 fields (application/json): - `code` (string) Un código de error único () que te permite clasificar y manejar el error de forma programática. ℹ️ Consulta nuestro DevPortal para obtener más información sobre cómo manejar errores 428 token_required. Example: "token_required" - `message` (string) Una breve descripción del error. Para los errores , la descripción es: - . Example: "A MFA token is required by the institution to login" - `request_id` (string) Un ID único de 32 caracteres de la solicitud (que coincide con un patrón regex de: ). Proporcione este ID al contactar al equipo de soporte de Belvo para acelerar las investigaciones. Example: "9e7b283c6efa449c9c028a16b5c249fb" - `session` (string) Un ID único de 32 caracteres de la sesión de inicio de sesión (que coincide con un patrón de regex de: ). Example: "2675b703b9d4451f8d4861a3eee54449" - `expiry` (integer) Tiempo de duración de la sesión en segundos. Example: 9600 - `link` (string) Identificador único creado por Belvo, utilizado para referenciar el Link actual. Example: "30cb4806-6e00-48a4-91c9-ca55968576c8" - `token_generation_data` (object) Detalles sobre cómo generar el token. - `token_generation_data.instructions` (string) Instrucciones para la generación de tokens. Example: "Use this code to generate the token" - `token_generation_data.type` (string) Tipo de datos para generar el token (código QR, desafío numérico). Example: "numeric" - `token_generation_data.value` (string) Valor a utilizar para generar el token. Example: "12345" - `token_generation_data.expects_user_input` (boolean) Indica si el usuario necesita proporcionar información para completar la autenticación. Cuando se establece en , es posible que su usuario necesite: - confirmar el inicio de sesión en otro dispositivo - escanear un código QR Aún necesitará realizar una llamada PATCH para completar la solicitud. Example: true ## Response 500 fields (application/json): - `code` (string) Un código de error único () que te permite clasificar y manejar el error de manera programática. ℹ️ Consulta nuestro DevPortal para obtener más información sobre cómo manejar errores 500 unexpected_error. Example: "unexpected_error" - `message` (string) Una breve descripción del error. Para los errores , la descripción es: - . Example: "Belvo is unable to process the request due to an internal system issue or to an unsupported response from an institution" - `request_id` (string) Un ID único de 32 caracteres de la solicitud (que coincide con un patrón regex de: ). Proporcione este ID al contactar al equipo de soporte de Belvo para acelerar las investigaciones. Example: "9e7b283c6efa449c9c028a16b5c249fb"