---
title: "Respond to your suppliers' invoices | Timbro"
description: "Retrieve the e-invoices your business receives and accept or reject them with the DGII"
canonical: "https://timbro.do/en/docs/comprobantes/facturas-de-suplidores/"
---

Invoice

# Respond to your suppliers' invoices

When a supplier issues an e-invoice to your business, Timbro receives it. Your system can retrieve it, compare it with the purchase it recorded, and tell the supplier and the DGII whether the business accepts or rejects it. The DGII calls that response commercial approval, and the API calls it `commercialResponse`.

Use the invoicing SDK (`@timbro/invoices` or `timbro-invoices`) with an API key with Invoicing access. The key determines the business and the mode, so do not send them as filters.

## Retrieve the pending invoices

- [TypeScript](https://timbro.do/en/docs/comprobantes/facturas-de-suplidores/#tab-panel-0-0)
- [Python](https://timbro.do/en/docs/comprobantes/facturas-de-suplidores/#tab-panel-0-1)

```ts
import { createTimbroInvoices } from "@timbro/invoices";

const timbro = createTimbroInvoices({ apiKey: process.env.TIMBRO_INVOICES_API_KEY! });
const pending = await timbro.receivedDocuments.list({ response: "pending", limit: 20 });
const summary = pending.data[0];
const received = summary ? await timbro.receivedDocuments.retrieve(summary.id) : undefined;
if (received) {
  const xml = await timbro.receivedDocuments.downloadXml(received.id);
}
```

```python
import os

from timbro_invoices import TimbroInvoices

timbro = TimbroInvoices(api_key=os.environ["TIMBRO_INVOICES_API_KEY"])
pending = timbro.received_documents.list(response="pending", limit=20)
received = (
    timbro.received_documents.retrieve(pending["data"][0]["id"]) if pending["data"] else None
)
if received is not None:
    received_xml = timbro.received_documents.download_xml(received["id"])
```

Before responding, compare the XML and the supplier’s data with the purchase your system recorded. Store the received invoice’s `id` with that purchase.

## Accept or reject the invoice

- [TypeScript](https://timbro.do/en/docs/comprobantes/facturas-de-suplidores/#tab-panel-1-0)
- [Python](https://timbro.do/en/docs/comprobantes/facturas-de-suplidores/#tab-panel-1-1)

```ts
if (received?.commercialResponse.status === "pending") {
  const reviewed = await timbro.receivedDocuments.respond(received.id, { decision: "accepted" });
}
```

```python
if received is not None and received["commercialResponse"]["status"] == "pending":
    reviewed = timbro.received_documents.respond(received["id"], {"decision": "accepted"})
```

To reject it, send `{ decision: "rejected", motive: "The amount does not match the purchase order" }`. The commercial response and its submission to the DGII have their own statuses; retrieve the received invoice to learn whether the DGII already received your response.

Responding does not record the purchase in your accounting or confirm that you paid the supplier. Your system still handles those tasks.

With HTTP, use `GET /v1/received-documents?response=pending`, `GET /v1/received-documents/{receivedDocumentId}`, and `GET /v1/received-documents/{receivedDocumentId}/files/xml`. Respond with `POST /v1/received-documents/{receivedDocumentId}/commercial-response` and the body `{ "decision": "accepted" }` or `{ "decision": "rejected", "motive": "..." }`.

[Previous\
Correct or void an invoice](https://timbro.do/en/docs/comprobantes/corregir-ecf/)[Next\
Collect an invoice you already issued](https://timbro.do/en/docs/comprobantes/cobrar-una-factura/)

Sell, serve your customers, and collect payments from your phone

© 2026 Timbro. All rights reserved

[Español](https://timbro.do/docs/comprobantes/facturas-de-suplidores/)[English](https://timbro.do/en/docs/comprobantes/facturas-de-suplidores/)

## Products

[Invoicing](https://timbro.do/en/facturacion-electronica/)[Serve](https://timbro.do/en/atiende/)[Collect](https://timbro.do/en/pagos/)[Portal Timbro](https://timbro.do/en/portal-timbro/)[Integrations](https://timbro.do/en/integraciones/)[Cuenta Timbro](https://timbro.do/en/cuenta-timbro/)[Pricing](https://timbro.do/en/precios/)

## Developers

[SDKs and API](https://timbro.do/en/desarrolladores/)[Documentation](https://timbro.do/en/docs/)[API reference](https://timbro.do/en/docs/reference/payments/)

## Company

[INDEXA, the company behind Timbro](https://indexa.do/)[Presentations](https://timbro.do/en/presentaciones/)

## Help

[How to start](https://timbro.do/en/como-empezar/)[Electronic invoicing guide](https://timbro.do/en/guias/facturacion-electronica-republica-dominicana/)[Contact](https://timbro.do/en/contacto/)<hola@timbro.do>

## Legal

[Business Terms](https://timbro.do/en/politicas/negocios/)[Terms of use](https://timbro.do/en/politicas/uso/)[Privacy](https://timbro.do/en/politicas/privacidad/)[Security](https://timbro.do/en/politicas/seguridad/)[All documents](https://timbro.do/en/politicas/)
