Utils
in package
Utilidades que pueden ser usadas en diferentes procesos de normalización y son independientes del resto del documento.
Table of Contents
Methods
- calcularNetoIVA() : array<string|int, mixed>
- Obtiene el monto neto y el IVA de ese neto a partir de un monto total.
- round() : int|float
- Redondea valores asociados a un tipo de moneda.
Methods
calcularNetoIVA()
Obtiene el monto neto y el IVA de ese neto a partir de un monto total.
public
static calcularNetoIVA(int $total, int|float|false $tasa) : array<string|int, mixed>
NOTE: El IVA obtenido puede no ser el NETO * (TASA / 100). Se calcula el monto neto y luego se obtiene el IVA haciendo la resta entre el total y el neto. Hay casos de borde que generan problemas como:
- BRUTO: 680 => NETO: 571 e IVA: 108 => TOTAL: 679
- BRUTO: 86710 => NETO: 72866 e IVA: 13845 => TOTAL: 86711
Estos casos son "normales", pues por aproximaciones "no da".
Parameters
- $total : int
-
Total que representa el monto neto más el IVA.
- $tasa : int|float|false
-
Tasa del IVA o
false
si no corresponde.
Return values
array<string|int, mixed> —Arreglo con el neto y el IVA en índices 0 y 1.
round()
Redondea valores asociados a un tipo de moneda.
public
static round(int|float $amount[, string|null|false $currency = null ][, int $decimals = 4 ]) : int|float
Si los valores son en pesos chilenos se redondea sin decimales. Si los valores están en otro tipo de moneda se mantienen los decimales, por defecto se mantienen 4 decimales.
Parameters
- $amount : int|float
-
Valor que se desea redondear.
- $currency : string|null|false = null
-
La moneda en la que está el valor.
- $decimals : int = 4
-
Cantidad de decimales a mantener cuando la moneda no es peso chileno.
Return values
int|float —Valor redondeado según la moneda y decimales a usar.