Keine Beschreibung

Matthew Trejo 1d4a5fc4db initial services info loading and saving vor 1 Monat
.claude eeb63b6164 how tf did i miss this interface vor 1 Monat
docs 0a8d0c12e6 refactor invoice generation to be modular vor 1 Monat
prisma 1d4a5fc4db initial services info loading and saving vor 1 Monat
public be686e8395 wrong image vor 1 Monat
src 1d4a5fc4db initial services info loading and saving vor 1 Monat
.gitignore 93c5764fa2 fix validation in tax info update vor 1 Monat
README.md 079bb0a9e5 initial clients info implementation vor 1 Monat
components.json 2951a3f2ee Initial commit: Add Next.js project with dark mode and invoice functionality vor 1 Monat
eslint.config.mjs 6ce376c304 Initial commit from Create Next App vor 1 Monat
next.config.ts 6ce376c304 Initial commit from Create Next App vor 1 Monat
package-lock.json a5c0ec29e3 initial xml sending implementation vor 1 Monat
package.json 079bb0a9e5 initial clients info implementation vor 1 Monat
postcss.config.mjs 6ce376c304 Initial commit from Create Next App vor 1 Monat
tsconfig.json 6ce376c304 Initial commit from Create Next App vor 1 Monat

README.md

sumire

image

Sistema de facturación electrónica para Ecuador con integración al SRI (Servicio de Rentas Internas).

Características

  • Creación de Facturas XML: Generación de facturas electrónicas en formato XML según las especificaciones del SRI
  • Firma Digital: Firma electrónica de documentos XML con certificados digitales
  • Envío al SRI: Integración SOAP para enviar facturas al Servicio de Rentas Internas
  • Gestión de Configuración: Administración de configuraciones tributarias (RUC, establecimiento, punto de emisión, secuenciales)
  • Validación Automática: Validación de clave de acceso y datos tributarios
  • Interfaz Moderna: UI construida con Next.js, React y Tailwind CSS

Tecnologías

Requisitos Previos

  • Node.js 20 o superior
  • npm o pnpm

Instalación

  1. Clonar el repositorio:

    git clone <repository-url>
    cd sumire
    
  2. Instalar dependencias:

    npm install
    
  3. Configurar variables de entorno: Crear un archivo .env en la raíz del proyecto:

    DATABASE_URL="file:./dev.db"
    
  4. Configurar la base de datos:

    # Aplicar todas las migraciones existentes
    npm run db:migrate
    
    # Esto creará la base de datos y aplicará todas las migraciones
    

Uso

Desarrollo

npm run dev

La aplicación estará disponible en http://localhost:3000

Producción

npm run build
npm start

Flujo de Trabajo

  1. Configuración Tributaria (/configuracion):

    • Configurar RUC, razón social, dirección matriz
    • Definir establecimiento y punto de emisión
    • Gestionar secuenciales de facturación
  2. Crear Factura (/factura):

    • Llenar información del comprador
    • Agregar detalles de productos/servicios
    • Generar XML de la factura
  3. Firmar Factura (/firmar):

    • Subir archivo XML de la factura
    • Subir certificado digital (.p12)
    • Firmar electrónicamente el documento
  4. Enviar al SRI (/enviar-sri):

    • Configurar parámetros del servicio SOAP del SRI
    • Enviar factura firmada
    • Monitorear estado de autorización

Estructura del Proyecto

sumire/
├── prisma/
│   └── schema.prisma          # Esquema de base de datos
├── src/
│   ├── app/
│   │   ├── api/               # API Routes
│   │   ├── factura/           # Página de creación de facturas
│   │   ├── firmar/            # Página de firma digital
│   │   ├── enviar-sri/        # Página de envío al SRI
│   │   └── configuracion/     # Página de configuración
│   ├── components/
│   │   ├── factura/           # Componentes de facturación
│   │   ├── firmar/            # Componentes de firma
│   │   ├── envio-sri/         # Componentes de envío SRI
│   │   └── ui/                # Componentes UI reutilizables
│   ├── hooks/                 # Custom React hooks
│   ├── lib/                   # Utilidades y generadores
│   ├── types/                 # Definiciones de TypeScript
│   └── utils/                 # Funciones auxiliares
└── package.json

Base de Datos

El proyecto utiliza SQLite con Prisma ORM para el almacenamiento local.

Comandos Disponibles

# Crear/aplicar nueva migración (después de editar schema.prisma)
npm run db:migrate -- --name descripcion_del_cambio

# Ver la base de datos visualmente
npm run db:studio

# Reset completo de la base de datos (⚠️ borra todos los datos)
npm run db:reset

# Regenerar el cliente de Prisma
npm run db:generate

Modificar el Esquema

  1. Editar prisma/schema.prisma
  2. Ejecutar npm run db:migrate -- --name descripcion_del_cambio
  3. Commit tanto schema.prisma como la carpeta migrations/

Para Nuevos Desarrolladores

Al clonar el proyecto por primera vez:

npm install                    # Instalar dependencias
npm run db:migrate            # Aplicar migraciones existentes

Licencia

Este proyecto es de código privado.

Notas Importantes

  • Este sistema está diseñado específicamente para la normativa tributaria de Ecuador
  • Se requiere un certificado digital válido emitido por una entidad certificadora autorizada por el SRI
  • Asegúrate de configurar correctamente el ambiente (pruebas/producción) antes de enviar facturas reales