LibreDTE

CsvBatchProcessorStrategy extends AbstractStrategy
in package
implements BatchProcessorStrategyInterface

Estrategia "billing.document.batch_processor.strategy:spreadsheet.csv".

Procesa en lote los documentos tributarios de un archivo CSV con el formato estándar de LibreDTE.

Table of Contents

Interfaces

BatchProcessorStrategyInterface
Interfaz para las estrategias de los procesadores de documentos en lote.

Properties

$entityComponent  : EntityComponentInterface

Methods

__construct()  : mixed
process()  : array<string|int, DocumentInterface>
Procesa masivamente documentos tributarios electrónicos.
addItem()  : void
Agrega un ítem al documento.
addReference()  : void
Agrega una referencia a un documento.
addTransport()  : void
Agrega información de transporte a un documento.
createDocument()  : array<string|int, mixed>
Crea un documento a partir de los datos proporcionados.
getCurrency()  : string|null
Obtiene la glosa de una moneda a partir de su código ISO.
setInitialDTE()  : array<string|int, mixed>
Genera la estructura inicial del DTE.

Properties

Methods

__construct()

public __construct(EntityComponentInterface $entityComponent) : mixed
Parameters
$entityComponent : EntityComponentInterface

addItem()

Agrega un ítem al documento.

private addItem(array<string|int, mixed> &$documento, array<string|int, mixed> $item) : void

Procesa los datos de un ítem y lo agrega al arreglo de detalles. Valida que los campos mínimos estén presentes y ajusta la longitud de los datos.

Parameters
$documento : array<string|int, mixed>

Documento al que se agregará el ítem. Modificado directamente.

$item : array<string|int, mixed>

Datos del ítem. Los índices corresponden a:

  • 0: Código del ítem (opcional).
  • 1: Indicador de exención (opcional).
  • 2: Nombre del ítem (obligatorio).
  • 3: Descripción del ítem (opcional).
  • 4: Cantidad del ítem (obligatorio).
  • 5: Unidad de medida (opcional).
  • 6: Precio del ítem (obligatorio).
  • 7: Descuento (opcional, porcentaje o monto).
  • 8: Código de impuesto adicional (opcional).
Tags
throws
BatchProcessorException

Si faltan datos obligatorios.

addReference()

Agrega una referencia a un documento.

private addReference(array<string|int, mixed> &$documento, array<string|int, mixed> $referencia) : void

Procesa los datos de referencia y los agrega al arreglo Referencia dentro del documento. Valida los campos obligatorios y ajusta su longitud si es necesario.

Parameters
$documento : array<string|int, mixed>

Documento al que se agregará la referencia. Se pasa por referencia para modificarlo.

$referencia : array<string|int, mixed>

Datos de la referencia a agregar. Los índices deben ser:

  • 0: Tipo del documento referenciado (obligatorio).
  • 1: Folio del documento referenciado (obligatorio).
  • 2: Fecha del documento en formato AAAA-MM-DD (obligatorio).
  • 3: Código de referencia (opcional).
  • 4: Razón de la referencia (opcional).
Tags
throws
BatchProcessorException

Si algún campo obligatorio está vacío o no es válido.

Return values
void

Modifica el documento directamente.

addTransport()

Agrega información de transporte a un documento.

private addTransport(array<string|int, mixed> &$documento, array<string|int, mixed> $transporte) : void

Procesa los datos de transporte proporcionados y los agrega al arreglo Transporte dentro del documento. Los datos incluyen información de patente, transportista, chofer y destino.

Parameters
$documento : array<string|int, mixed>

Documento al que se agregará la información de transporte. Se pasa por referencia para modificarlo.

$transporte : array<string|int, mixed>

Datos de transporte a procesar. Los índices son:

  • 0: Patente del vehículo (opcional).
  • 1: RUT del transportista (opcional).
  • 2: RUT del chofer (opcional).
  • 3: Nombre del chofer (opcional).
  • 4: Dirección del destino (opcional).
  • 5: Comuna del destino (opcional).
Return values
void

Modifica el documento directamente.

createDocument()

Crea un documento a partir de los datos proporcionados.

private createDocument(array<string|int, mixed> $datos) : array<string|int, mixed>

Verifica los datos mínimos requeridos y genera la estructura base. También agrega ítems, transporte y referencias al documento.

Parameters
$datos : array<string|int, mixed>

Datos para crear el documento. Los índices corresponden a:

  • 0: Tipo de documento (obligatorio).
  • 1: Folio del documento (obligatorio).
  • 2: Fecha de emisión (opcional).
  • 3: Fecha de vencimiento (opcional).
  • 4: RUT del receptor (obligatorio).
  • 5: Razón social del receptor (obligatoria si no es boleta).
  • 6: Giro del receptor (obligatorio si no es boleta).
  • 7: Contacto del receptor (opcional).
  • 8: Correo del receptor (opcional, validado si se proporciona).
  • 9: Dirección del receptor (obligatoria si no es boleta).
  • 10: Comuna del receptor (obligatoria si no es boleta).
  • 33: Tipo de moneda (opcional, por defecto USD si aplica).
  • 34: Número de identificación del receptor extranjero (opcional).
  • 35: Descuento global (opcional, porcentaje o monto).
  • 36: Nombre del PDF (opcional).
  • 37: Forma de pago (opcional, 1, 2 o 3).
  • 38: Código de impuesto adicional (opcional).
Tags
throws
BatchProcessorException

Si faltan datos mínimos o son inválidos.

Return values
array<string|int, mixed>

Estructura del documento generado.

getCurrency()

Obtiene la glosa de una moneda a partir de su código ISO.

private getCurrency(string $moneda) : string|null

Este método busca en el repositorio de la entidad AduanaMoneda un registro que coincida con el código ISO proporcionado. Si encuentra un resultado, devuelve la glosa asociada; de lo contrario, retorna null.

Parameters
$moneda : string

Código ISO de la moneda que se desea buscar.

Return values
string|null

La glosa de la moneda o null si no existe.

setInitialDTE()

Genera la estructura inicial del DTE.

private setInitialDTE(array<string|int, mixed> $datos) : array<string|int, mixed>

Este método crea un arreglo con la estructura base del DTE, incluyendo encabezado, emisor, receptor y detalles. Configura valores predeterminados para los campos opcionales y procesa algunos datos de entrada.

Parameters
$datos : array<string|int, mixed>

Datos de entrada para generar la estructura del DTE.

Return values
array<string|int, mixed>

Arreglo con la estructura inicial del DTE.


        
On this page

Search results