Saltar al contenido principal

Defaults de Impresion por Empresa

Los defaults de impresion son la configuracion predeterminada de impresion que se aplica automaticamente a las nuevas terminales POS de la empresa. Permiten estandarizar el comportamiento sin obligar al administrador a llenar los campos de impresion en cada caja nueva.

Endpoint API: GET/PUT /api/companyprintingdefaults


Cuando se aplican​

Los defaults se aplican al crear una nueva terminal (POSTerminal). Solo se rellenan los campos que el administrador no especifico explicitamente.

Crear terminal "Caja 4"
↓
PrinterType vacio? → heredar DefaultPrinterType de la empresa
PaperWidth vacio? → heredar DefaultPaperWidth
Copies = 0? → heredar DefaultCopies
Encoding vacio? → heredar DefaultEncoding
FooterText vacio? → heredar DefaultFooterText
... etc.

Una vez creada la terminal, los cambios posteriores en los defaults no afectan a las terminales existentes — solo a las nuevas.


Campos disponibles​

CampoTipoPredeterminado del sistema
DefaultPrinterTypeEnum (PrinterType)None
DefaultPaperWidthstring ("58mm" / "80mm" / "Letter")80mm
DefaultCopiesint (1-5)1
DefaultEncodingstring (CP437/CP850/CP858/CP1252)CP850
DefaultFooterTextstring (max 500)(vacio)
DefaultOpenCashDrawerboolfalse
DefaultSilentPrintbooltrue
DefaultPrintShowLogobooltrue
DefaultPrintShowProductDescriptionbooltrue
DefaultPrintShowUnitPricebooltrue
DefaultPrintShowUnitOfMeasureboolfalse
DefaultPrintShowBarcodeboolfalse
DefaultPrintShowTaxBreakdownbooltrue
AllowedPrinterTypesstring CSV (ids enum)null (todas permitidas)
RequireSilentPrintboolfalse

Restricciones por empresa​

AllowedPrinterTypes​

Lista CSV de los enteros del enum PrinterType que el operador puede elegir. Util cuando una empresa quiere limitar el catalogo a estrategias soportadas oficialmente.

Ejemplos:

ValorSignificado
null o vacioTodas las estrategias permitidas
"3,4"Solo Red TCP (3) y Bluetooth ESC/POS (4)
"2,6,9,10"QZ Tray, WindowsDriver, WebPRNT y Web Bluetooth

Mapping numero → estrategia:

IDPrinterType
0None
1Browser
2QZTray
3NetworkEscPos
4BluetoothEscPos
5UsbEscPos
6WindowsDriver
7Sunmi
8Imin
9WebPrnt
10WebBluetooth
11AndroidIntent

RequireSilentPrint​

Cuando es true, el asistente filtra recomendaciones que requieran HTTPS sin satisfacerlo o que no sean silenciosas (ej. Browser). Util en operaciones de alto volumen donde no se tolera el dialogo del navegador.


API​

GET /api/companyprintingdefaults/bycompany​

Devuelve los defaults de la empresa autenticada (extraida del JWT). La primera vez que se llama, crea automaticamente una fila con valores del sistema.

Response 200:

{
"id": 1,
"companyId": 12,
"defaultPrinterType": 0,
"defaultPaperWidth": "80mm",
"defaultCopies": 1,
"defaultEncoding": "CP850",
"defaultFooterText": null,
"defaultOpenCashDrawer": false,
"defaultSilentPrint": true,
"defaultPrintShowLogo": true,
"defaultPrintShowProductDescription": true,
"defaultPrintShowUnitPrice": true,
"defaultPrintShowUnitOfMeasure": false,
"defaultPrintShowBarcode": false,
"defaultPrintShowTaxBreakdown": true,
"allowedPrinterTypes": null,
"requireSilentPrint": false,
"createdAt": "2026-04-26T16:48:00Z",
"updatedAt": null
}

PUT /api/companyprintingdefaults​

Actualiza los defaults. El companyId del body se ignora — siempre se usa el del JWT (multi-tenant safe).

Request body: UpdateCompanyPrintingDefaultsDTO (mismos campos que el response).


Modelo de datos​

Tabla CompanyPrintingDefaults:

IndiceColumnaNotas
IX_CompanyPrintingDefaults_CompanyId (UNIQUE)CompanyIdUna fila por empresa

FK Companies(Id) con ON DELETE CASCADE.


Buenas practicas​

Para una empresa con varias sucursales​

Configurar los defaults con la estrategia mas comun:

  • Si la mayoria de terminales son Star WiFi → DefaultPrinterType = 9 (WebPrnt).
  • Si la mayoria son PC + termica USB → DefaultPrinterType = 2 (QZTray).

Asi, al crear una terminal en una nueva sucursal, casi todo viene heredado y solo hay que llenar el campo PrinterTarget (IP / nombre).

Para una empresa con politica de cumplimiento​

  • RequireSilentPrint = true evita que un operador deje terminales con dialogo del navegador.
  • AllowedPrinterTypes = "3,9,10" restringe a las 3 estrategias aprobadas.

Para una empresa con marca personalizada​

  • DefaultFooterText = "Gracias por su compra. Visite www.miempresa.com" aparece en todos los recibos nuevos.
  • DefaultPrintShowLogo = true asegura que el logo de la empresa siempre aparezca.

Lecturas relacionadas​