# SUNAT (beta)

> Beta privada de SUNAT: entrega de acceso, períodos y propuestas de compras RCE y ventas RVIE. Lectura real pendiente de validación.



<Callout type="warn" title="Beta privada: lectura real pendiente de validación">
  Soporte habilita SUNAT por organización. Las operaciones están implementadas y probadas con respuestas
  sintéticas; falta validar el formato exportado y la lectura completa con una empresa autorizada.
  Recibir el acceso no activa la conexión ni acredita que existan datos disponibles.
</Callout>

SUNAT permite preparar la lectura de las propuestas de compras **RCE** y ventas **RVIE** de SIRE para
una empresa de Perú. La beta incluye períodos y comprobantes de esas propuestas. Una propuesta no
acredita un registro presentado; esta integración no emite comprobantes ni presenta libros tributarios.

## Entregar el acceso [#entregar-el-acceso]

Un dueño o administrador de una organización habilitada entra a **Conectar → Tributario → SUNAT · Beta**
en el panel. El formulario pide:

| Campo                                   | Qué entregar                                                                   |
| --------------------------------------- | ------------------------------------------------------------------------------ |
| RUC                                     | Los once dígitos de la empresa.                                                |
| Usuario SOL secundario                  | Un usuario autorizado para la empresa, con los permisos de lectura necesarios. |
| Clave SOL                               | La clave de ese usuario.                                                       |
| Credenciales API existentes, opcionales | Client ID y Client Secret juntos, si la empresa ya los tiene.                  |

No necesitas crear una aplicación para entregar el acceso inicial. El equipo de Emisso revisa la
configuración necesaria y coordina con la empresa si falta algún permiso. Si ya existe un par API,
se prioriza reutilizarlo; reemplazarlo puede afectar otras integraciones y requiere resolver ese impacto.
Entrega las credenciales únicamente mediante el formulario: se guardan cifradas en el servidor.

El recibo dice **Acceso recibido · Pendiente de validación**. Ese paso no activa cobros ni sincronizaciones.
La activación de las operaciones se realiza por separado, con autorización y el plan correspondiente.
La beta usa este recorrido del panel; no se incorpora mediante el enlace genérico de conexión.

## Sincronizar y consultar [#sincronizar-y-consultar]

Estas operaciones requieren una conexión activada, la beta habilitada para la organización y el permiso
`sunat_beta:read` tanto en la clave o autorización como en la conexión. Indica siempre `connectionId`;
en REST corresponde al header `X-Connect-Connection`.

| Operación                         | Resultado                                                                                    |
| --------------------------------- | -------------------------------------------------------------------------------------------- |
| `sunat_beta.conexion.verificar`   | Comprueba el acceso y devuelve la fecha de verificación, sin comprobantes.                   |
| `sunat_beta.conexion.sincronizar` | Sincroniza los alcances solicitados: `periodos`, `compras` o `ventas`. Requiere plan activo. |
| `sunat_beta.periodos.consultar`   | Consulta el catálogo de períodos guardado, con filtro opcional por libro `rvie` o `rce`.     |
| `sunat_beta.compras.consultar`    | Consulta los comprobantes guardados de la propuesta RCE del período.                         |
| `sunat_beta.ventas.consultar`     | Consulta los comprobantes guardados de la propuesta RVIE del período.                        |

Usa períodos `AAAA-MM`. La sincronización devuelve un `jobId`: consulta su resultado antes de afirmar que
terminó. Las consultas leen datos ya guardados y no vuelven a pedir acceso a SUNAT. Devuelven un `cursor`
para continuar; `null` indica el final. `limite` vale 100 por defecto y admite hasta 500 registros.

Revisa `sincronizacion` junto con las filas. `null` significa que no existe una lectura conservada.
Una lista vacía sólo acredita cero documentos cuando la cobertura está completa y `cantidad` es cero.
Si `completo` es falso, la fecha y cantidad pueden corresponder a una lectura anterior; no acreditan el
total vigente. Una exportación pendiente o rechazada no reemplaza los datos anteriores como si estuviera vacía.

## Interpretar los comprobantes [#interpretar-los-comprobantes]

Los documentos indican `origen: "propuesta"`. Serie y número conservan la representación recibida,
incluidos los ceros iniciales. La primera entrega admite comprobantes individuales de tipos `01`, `03`,
`07` y `08`; un formato no admitido impide confirmar la lectura completa de ese alcance.

Los montos se entregan como cadenas decimales, con `baseMonetaria: "contabilidad_sire"`. `moneda` es la
moneda de esos importes y queda `null` si el archivo no la acredita. `monedaOriginal` corresponde al
comprobante de origen; no sustituye la moneda de los importes. No asumas soles ni sumes monedas distintas.

## Referencias [#referencias]

* [Contrato de las herramientas SUNAT](/docs/referencia/sunat_beta).
* [Permisos y autenticación](/docs/empezar/autenticacion).
* [Sincronizar y consultar](/docs/conceptos/sincronizar-consultar).
* [Manuales oficiales de servicios API SIRE](https://cpe.sunat.gob.pe/node/148).
