Pimia
DocumentaciónFrontendIntegracionesAPI ReferenceKnowledge BaseChangelog
PantallasCompras y finanzas

Nueva factura recibida

Ruta /pimia/facturas-recibidas/nueva · componentes, campos y acciones del checkout documentado.

Ruta y puntos de edición

Ruta: /pimia/facturas-recibidas/nueva. Revisión: 2aec1b16cc01.

Esta ficha procede de lectura estática del código. Los componentes asociados pueden incluir diálogos cerrados y bloques condicionales. Las expresiones dinámicas se conservan como código; no equivalen a campos siempre visibles ni a permisos concedidos.

Vista en el tenant de referencia

Nueva factura recibida en Pimia

Captura de escritorio del tenant de demostración Reformas Vera, S.L., tomada el 10 de septiembre de 2026. Los datos ilustran la composición de la pantalla y pueden cambiar.

CapaArchivo relativo al repositorio
Rutasrc/app/pimia/facturas-recibidas/nueva/page.tsx
Adaptador Next.jssrc/host/screens/PimiaReceivedInvoiceScreens.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaReceivedInvoiceEditorScreen.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaAmountCell.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaStates.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaReceivedInvoiceSinPermiso.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaScreenShell.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaSupplierCombobox.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaFieldCaption.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaOcrDialog.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaConnectDialog.tsx

PimiaReceivedInvoiceEditorScreen

Fuente: src/features/pimia/ui/PimiaReceivedInvoiceEditorScreen.tsx.

Campos y controles

La columna «Reglas JSX» recoge propiedades explícitas; la validación adicional vive en los helpers y en el servidor. El enlace de estado indica dónde se lee el valor.

Etiqueta o pistaControlEnlace de estadoReglas JSXLínea
`Concepto de la línea ${posicion}`Inputline.nameNo declaradas en este nodo260
`Cantidad de la línea ${posicion}`Inputline.quantityNo declaradas en este nodo266
`Precio de la línea ${posicion}`Inputline.priceNo declaradas en este nodo278
Proveedor (obligatorio)PimiaSupplierComboboxform.supplierIdNo declaradas en este nodo807
Número del proveedorInputform.supplierNumberNo declaradas en este nodo880
Fecha de la factura (obligatoria)Inputform.issueDatetype=date925
VencimientoInputform.dueDatetype=date950
Sin etiqueta literal resolubleSelectform.vatTaxTypeId === null ? SIN_TRAMO : String(form.vatTaxTypeId)No declaradas en este nodo1089
Sin etiqueta literal resolubleSelectform.withholdingTaxTypeId === null ? SIN_TRAMO : String(form.withholdingTaxTypeId)No declaradas en este nodo1134
Notas de la factura recibidaTextareaform.notesNo declaradas en este nodo1210

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
ReintentaronRetryNo declarado en este nodo217
`Quitar la línea ${posicion}`onRemove!puedeQuitarse287
Volver sin guardarvolverNo declarado en este nodo703
Leer la factura (OCR)() => setIsOcrOpen(true)No declarado en este nodo733
CancelarvolverNo declarado en este nodo738
Guardar facturasubmit del formulariobloqueado741
Añadir línea() => setForm((previo) => ({ ...previo, lines: [...previo.lines, emptyLineForm()], }))No declarado en este nodo1042

Estados reutilizados

  • PimiaNotConnected
  • PimiaErrorState
  • PimiaRowsSkeleton

Clases de presentación locales

Selección de clases literales; las clases condicionales y los estilos de los primitivos se consultan en el archivo.

bg-destructive/5, p-2.5, text-xs, text-destructive, text-muted-foreground, text-right, overflow-y-auto, gap-x-4, gap-y-2, bg-background, text-base, text-foreground, gap-2, gap-6, p-6, lg:grid-cols-5, text-sm, gap-4, sm:grid-cols-2, grid-cols-1, overflow-x-auto, overflow-y-hidden, bg-muted/40, bg-card, p-4, sm:p-5.

PimiaStates

Fuente: src/features/pimia/ui/PimiaStates.tsx.

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Conectar una empresa() => setIsConnectOpen(true)No declarado en este nodo99
Rótulo dinámico / icono() => void goPimiaPath(notFound.listPath)No declarado en este nodo233
Rótulo dinámico / iconodelegado al contenedorNo declarado en este nodo247
Rótulo dinámico / icono() => void goPimiaPath( closedDoor.action?.kind === "plan" ? PLAN_PATH : MODULES_SETTINGS_PATH, )No declarado en este nodo257
Volver a conectar() => setIsConnectOpen(true)No declarado en este nodo273
ReintentaronRetryNo declarado en este nodo279

Clases de presentación locales

Selección de clases literales; las clases condicionales y los estilos de los primitivos se consultan en el archivo.

gap-4, p-8, text-center, text-base, text-foreground, text-sm, text-muted-foreground, gap-2, overflow-hidden, bg-muted/40.

PimiaReceivedInvoiceSinPermiso

Fuente: src/features/pimia/ui/PimiaReceivedInvoiceSinPermiso.tsx.

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Facturas recibidasvolverNo declarado en este nodo39

Clases de presentación locales

Selección de clases literales; las clases condicionales y los estilos de los primitivos se consultan en el archivo.

text-muted-foreground, text-center, text-sm, text-foreground.

PimiaSupplierCombobox

Fuente: src/features/pimia/ui/PimiaSupplierCombobox.tsx.

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
labeldelegado al contenedordisabled111

Clases de presentación locales

Selección de clases literales; las clases condicionales y los estilos de los primitivos se consultan en el archivo.

text-muted-foreground, p-0, text-left, text-xs.

PimiaOcrDialog

Fuente: src/features/pimia/ui/PimiaOcrDialog.tsx.

Campos y controles

La columna «Reglas JSX» recoge propiedades explícitas; la validación adicional vive en los helpers y en el servidor. El enlace de estado indica dónde se lee el valor.

Etiqueta o pistaControlEnlace de estadoReglas JSXLínea
`El documento a leer (jpg, png, pdf, tiff o webp, 10 MB máximo)`Inputdelegadotype=file132

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Rótulo dinámico / icono() => file && extract.mutate(file)file === null || extract.isPending146
Cancelar() => onOpenChange(false)No declarado en este nodo221
Usar estos datos() => { if (result) { onUse(result); onOpenChange(false); } }result === null228

Clases de presentación locales

Selección de clases literales; las clases condicionales y los estilos de los primitivos se consultan en el archivo.

overflow-y-auto, bg-muted/40, text-sm, text-muted-foreground, text-xs, text-destructive, grid-cols-[auto_1fr], gap-x-4, gap-y-1.5, p-3.

PimiaConnectDialog

Fuente: src/features/pimia/ui/PimiaConnectDialog.tsx.

Campos y controles

La columna «Reglas JSX» recoge propiedades explícitas; la validación adicional vive en los helpers y en el servidor. El enlace de estado indica dónde se lee el valor.

Etiqueta o pistaControlEnlace de estadoReglas JSXLínea
Tu empresaInputbaseUrldisabled=connect.isPending114

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Cancelar() => handleOpenChange(false)No declarado en este nodo155
Rótulo dinámico / iconosubmit del formulario!canSubmit162

Clases de presentación locales

Selección de clases literales; las clases condicionales y los estilos de los primitivos se consultan en el archivo.

text-sm, text-foreground, gap-2, text-muted-foreground, text-xs, text-destructive.

Hooks, adaptadores y utilidades relacionados

  • src/features/pimia/api/auth.ts
  • src/features/pimia/api/ocr.ts
  • src/features/pimia/api/pimiaClient.ts
  • src/features/pimia/api/receivedInvoiceEditor.ts
  • src/features/pimia/api/suppliers.ts
  • src/features/pimia/api/taxTypes.ts
  • src/features/pimia/hooks/usePimiaAuth.ts
  • src/features/pimia/hooks/usePimiaFacturasRecibidas.ts
  • src/features/pimia/hooks/usePimiaProveedores.ts
  • src/features/pimia/hooks/usePimiaResources.ts
  • src/features/pimia/lib/calendar.ts
  • src/features/pimia/lib/closedDoors.ts
  • src/features/pimia/lib/missingRecord.ts
  • src/features/pimia/lib/money.ts
  • src/features/pimia/lib/receivedInvoiceDraft.ts
  • src/features/pimia/lib/receivedInvoiceOcr.ts
  • src/features/pimia/lib/scopeDenial.ts
  • src/features/pimia/lib/taxes.ts

Antes de entregar un retoque

  • Revisa los archivos de formulario y sus helpers antes de cambiar tipos, obligatoriedad o valores iniciales.
  • Prueba carga, error, vacío, permisos insuficientes y guardado pendiente en las variantes que usa esta pantalla.
  • Comprueba escritorio, móvil, teclado, tema oscuro y scroll con suficientes filas.
  • Conserva los handlers y la invalidación de datos al modificar la presentación.

En esta página