schema.prisma 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // This is your Prisma schema file,
  2. // learn more about it in the docs: https://pris.ly/d/prisma-schema
  3. generator client {
  4. provider = "prisma-client-js"
  5. }
  6. datasource db {
  7. provider = "sqlite"
  8. url = env("DATABASE_URL")
  9. }
  10. model ConfiguracionTributaria {
  11. id String @id @default(cuid())
  12. ambiente String // "1" para pruebas, "2" para producción
  13. tipoEmision String // "1" para normal
  14. razonSocial String
  15. nombreComercial String
  16. ruc String @unique
  17. dirMatriz String
  18. dirEstablecimiento String @default("")
  19. estab String // establecimiento
  20. ptoEmi String // punto de emisión
  21. secuencial String // secuencial actual
  22. obligadoContabilidad String @default("NO") // "SI" o "NO"
  23. activo Boolean @default(true)
  24. createdAt DateTime @default(now())
  25. updatedAt DateTime @updatedAt
  26. @@map("configuraciones_tributarias")
  27. }
  28. model Cliente {
  29. id String @id @default(cuid())
  30. tipoIdentificacion String // "04" RUC, "05" Cédula, "06" Pasaporte, "07" Consumidor Final
  31. identificacion String
  32. razonSocial String // Nombre o razón social del cliente
  33. direccion String
  34. email String?
  35. telefono String?
  36. activo Boolean @default(true)
  37. createdAt DateTime @default(now())
  38. updatedAt DateTime @updatedAt
  39. @@unique([tipoIdentificacion, identificacion])
  40. @@map("clientes")
  41. }
  42. model Servicio {
  43. id String @id @default(cuid())
  44. codigoPrincipal String // Código principal del producto/servicio
  45. codigoAuxiliar String? // Código auxiliar opcional
  46. descripcion String // Descripción detallada del servicio
  47. precioUnitario String // Precio unitario base (como string para precisión)
  48. codigoPorcentaje String @default("2") // "0" No objeto de IVA, "2" IVA
  49. tarifa String @default("15") // Tarifa de IVA (0, 5, 12, 15)
  50. activo Boolean @default(true)
  51. createdAt DateTime @default(now())
  52. updatedAt DateTime @updatedAt
  53. @@map("servicios")
  54. }