LibreDTE

BuilderStrategy extends AbstractLibroComprasVentasBuilderStrategy
in package
implements BuilderStrategyInterface

Estrategia `libro_ventas` del `BuilderWorker`.

Construye el XML del Libro de Ventas (IECV con TipoOperacion VENTA) a partir de los detalles normalizados por el LoaderWorker.

Attributes
#[Strategy]
$name: 'libro_ventas'
$worker: 'builder'
$component: 'book'
$package: 'billing'

Table of Contents

Interfaces

BuilderStrategyInterface
Interfaz para las estrategias del `BuilderWorker`.

Constants

CARATULA_REQUERIDA  : array<string, string> = ['ESPECIAL' => 'FolioNotificacion', 'RECTIFICA'...
Dato de la carátula que exige cada tipo de libro.
TIPOS_FUERA_DEL_DETALLE  : array<int, int> = [35, 38, 39, 41, 105, 500, 501, 919, 920, 922,...
Tipos de documento que no van en el detalle del libro de ventas.
TIPOS_RESUMEN_MANUAL  : array<int, int> = [35, 38, 48]
Tipos de documento que se pueden informar solo con su resumen: boletas, boletas exentas y pagos electrónicos.

Methods

__construct()  : mixed
build()  : LibroComprasVentasInterface
Construye el Libro de Compras/Ventas a partir del bag normalizado.
filterDetalle()  : array<int, array<string, mixed>>
Entrega las filas del detalle que van en el XML del libro.

Constants

CARATULA_REQUERIDA

Dato de la carátula que exige cada tipo de libro.

public array<string, string> CARATULA_REQUERIDA = ['ESPECIAL' => 'FolioNotificacion', 'RECTIFICA' => 'CodAutRec']

El esquema deja estos campos como opcionales: que sean obligatorios para estos tipos de libro no lo valida el esquema, por eso se valida al construir el libro.

TIPOS_FUERA_DEL_DETALLE

Tipos de documento que no van en el detalle del libro de ventas.

public array<int, int> TIPOS_FUERA_DEL_DETALLE = [35, 38, 39, 41, 105, 500, 501, 919, 920, 922, 924]

El esquema acepta estos tipos en el detalle, pero la biblioteca los omite a propósito, como una regla propia: se informan solo en el resumen del período (sus totales igual se cuentan).

TIPOS_RESUMEN_MANUAL

Tipos de documento que se pueden informar solo con su resumen: boletas, boletas exentas y pagos electrónicos.

public array<int, int> TIPOS_RESUMEN_MANUAL = [35, 38, 48]

Methods

filterDetalle()

Entrega las filas del detalle que van en el XML del libro.

protected filterDetalle(array<string|int, mixed> $detalles) : array<int, array<string, mixed>>
Parameters
$detalles : array<string|int, mixed>
Return values
array<int, array<string, mixed>>
On this page

Search results