Pimia
DocumentaciónFrontendIntegracionesAPI ReferenceKnowledge BaseChangelog
PantallasCompras y finanzas

Facturas recibidas

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

Ruta y puntos de edición

Ruta: /pimia/facturas-recibidas. 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

Facturas recibidas 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/page.tsx
Adaptador Next.jssrc/host/screens/PimiaReceivedInvoiceScreens.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaReceivedInvoicesScreen.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaStates.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaScreenShell.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaPageHeader.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaStatusTabs.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaFilterBar.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaSupplierCombobox.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaTablePanel.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaPagination.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaSortableHead.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaReceivedInvoiceRow.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaReceivedInvoicePaidDialog.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaReceivedInvoiceDeleteDialog.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaConnectDialog.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaStatusBadge.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaAmountCell.tsx

PimiaReceivedInvoicesScreen

Fuente: src/features/pimia/ui/PimiaReceivedInvoicesScreen.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
Filtrar por proveedorPimiaSupplierComboboxsupplierFilterNo declaradas en este nodo460
DesdeInputfromDatetype=date492
HastaInputtoDatetype=date506
Seleccionar todas las facturas de esta páginaCheckboxtodasSeleccionadas ? true : algunaSeleccionada ? "indeterminate" : falseNo declaradas en este nodo792

Columnas declaradas

  • Proveedor
  • Acciones

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Nueva factura recibida() => void goPimiaReceivedInvoiceNew(supplierFilter)No declarado en este nodo402
Limpiar filtrosclearFiltersNo declarado en este nodo449
Limpiar los filtrosclearFiltersNo declarado en este nodo628
Registrar la primera() => void goPimiaReceivedInvoiceNew(null)No declarado en este nodo632
Eliminar() => openDelete(selectedInvoices)No declarado en este nodo753
Quitar selección() => setSelectedIds([])No declarado en este nodo763

Estados reutilizados

  • PimiaNotConnected
  • PimiaRowsSkeleton
  • PimiaErrorState
  • PimiaEmpty

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-2, text-xs, text-muted-foreground, bg-muted/40, text-sm, text-center, text-foreground, gap-3, hover:bg-transparent.

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.

PimiaFilterBar

Fuente: src/features/pimia/ui/PimiaFilterBar.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
searchLabel ?? searchPlaceholderInputsearchValue ?? ""No declaradas en este nodo56

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, gap-2.

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.

PimiaPagination

Fuente: src/features/pimia/ui/PimiaPagination.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
Sin etiqueta literal resolubleSelectString(pageSize)No declaradas en este nodo82

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Anterior() => onPageChange(Math.max(1, page - 1))page <= 1 || isBusy104
Siguiente() => onPageChange(page + 1)page >= lastPage || isBusy115

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-3, text-xs, text-muted-foreground, gap-2.

PimiaSortableHead

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

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Rótulo dinámico / icono() => onSortChange({ direction: isActive && sort.direction === "desc" ? "asc" : ("desc" as const), field, })No declarado en este nodo61

PimiaReceivedInvoiceRow

Fuente: src/features/pimia/ui/PimiaReceivedInvoiceRow.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
`Seleccionar ${label}`CheckboxisSelectedNo declaradas en este nodo197

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Ver la factura recibida(event) => { /* La fila también navega; sin esto el clic llegaría dos veces. */ event.stopPropagation(); void goPimiaReceivedInvoice(String(invoice.id)); }No declarado en este nodo229
Ver el proveedor(event) => { event.stopPropagation(); void goPimiaSupplier(String(invoice.supplierId)); }No declarado en este nodo270
`Acciones de ${label}`delegado al contenedorNo declarado en este nodo351
Ver factura() => void goPimiaReceivedInvoice(String(invoice.id))No declarado en este nodo362
Editar() => void goPimiaReceivedInvoiceEdit(String(invoice.id))No declarado en este nodo370
Marcar como pagada() => onMarkPaid(invoice)No declarado en este nodo383
Eliminar() => onDelete(invoice)No declarado en este nodo396

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, gap-1.5, text-xs, hover:text-foreground, text-right.

PimiaReceivedInvoicePaidDialog

Fuente: src/features/pimia/ui/PimiaReceivedInvoicePaidDialog.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
Sin etiqueta literal resolubleSelectmethodIdNo declaradas en este nodo223
Anotar el gasto asociadoSwitchcreateExpenseNo declaradas en este nodo291

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Cancelar() => onOpenChange(false)No declarado en este nodo348
Marcar como pagadasubmit del formularioNo declarado en este nodo358
ReintentaronRetryNo declarado en este nodo439

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-muted/40, text-xs, text-muted-foreground, p-3, gap-2, text-sm, bg-warning/10, text-warning, text-destructive, bg-destructive/5, p-2.5.

PimiaReceivedInvoiceDeleteDialog

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

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Rótulo dinámico / icono() => void handleDelete()No declarado en este nodo163

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/30, text-sm, gap-3, text-xs, text-foreground, text-muted-foreground.

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/estimates.ts
  • src/features/pimia/api/invoices.ts
  • src/features/pimia/api/pimiaClient.ts
  • src/features/pimia/api/receivedInvoices.ts
  • src/features/pimia/api/suppliers.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/expenses.ts
  • src/features/pimia/lib/missingRecord.ts
  • src/features/pimia/lib/money.ts
  • src/features/pimia/lib/pagination.ts
  • src/features/pimia/lib/receivedInvoices.ts
  • src/features/pimia/lib/scopeDenial.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