gfarias/laravel-previ-scraper 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

gfarias/laravel-previ-scraper

Composer 安装命令:

composer require gfarias/laravel-previ-scraper

包简介

Extractor de indicadores previsionales y tramos de renta (previred/sii)

README 文档

README

Indicadores previsionales Chile 🇨🇱

Codacy Badge tests codecov CodeFactor StyleCI Latest Stable Version Total Downloads License

Indicadores previsionales desde Previred y tramos de impuesto desde SII

Los datos se obtienen utilizando web scraping (Previred - Sii)

Instalación

Corre el siguiente comando en la terminal:

composer require gfarias/laravel-previ-scraper

Cómo se usa

Puedes utilizar el provider e inyectarlo directo en los métodos ejecutados por el framework:

public function handle(PreviScraper $previScraper): void {
    $sii = $previScraper->sii();
    print_r($sii->all());
}

o instanciar directamente PreviScraper :

$previScraper = new Gfarias\PreviScraper\PreviScraper();
$previred = $previScraper->previred();
$sii = $previScraper->sii();

print_r($previred->all());
print_r($sii->all());

Sii - Impuesto segunda categoría

Soporta desde el año 2013+

método retorno
getTramosMensuales() array
getTramosQuincenales() array
getTramosSemanales() array
getTramosDiarios() array
all() array

Cada método entrega un arreglo con el conjunto de tramos disponibles en SII, a su vez, cada tramo contiene los siguientes datos:

nombre tipo de dato descripción
periodo string [mensual,quincenal, semanal, diario]
desde float renta mínima del tramo
hasta float renta tope del tramo
factor float factor de cálculo
descuento float Cantidad a rebajar
impuesto float Tasa de Impuesto Efectiva, máxima por cada tramo de Renta

En resumen, es una fiel representación de la web de SII

image

Ejemplos de uso

Obtener indicadores mensuales del periodo Enero 2021

$previScraper = new PreviScraper();
$indicadoresMensuales = $previScraper->sii(5, 2021)->getIndicadoresMensuales();
print_r($indicadoresMensuales);

El output de estos indicadores sería:

Array
(
    [0] => Array
        (
            [periodo] => mensual
            [desde] => 0
            [hasta] => 680022
            [factor] => 0
            [descuento] => 0
            [impuesto] => 0
        )

    [1] => Array
        (
            [periodo] => mensual
            [desde] => 680022.01
            [hasta] => 1511160
            [factor] => 0.04
            [descuento] => 27200.88
            [impuesto] => 2.2
        )

    [2] => Array
        (
            [periodo] => mensual
            [desde] => 1511160.01
            [hasta] => 2518600
            [factor] => 0.08
            [descuento] => 87647.28
            [impuesto] => 4.52
        )

    [3] => Array
        (
            [periodo] => mensual
            [desde] => 2518600.01
            [hasta] => 3526040
            [factor] => 0.135
            [descuento] => 226170.28
            [impuesto] => 7.09
        )

    [4] => Array
        (
            [periodo] => mensual
            [desde] => 3526040.01
            [hasta] => 4533480
            [factor] => 0.23
            [descuento] => 561144.08
            [impuesto] => 10.62
        )

    [5] => Array
        (
            [periodo] => mensual
            [desde] => 4533480.01
            [hasta] => 6044640
            [factor] => 0.304
            [descuento] => 896621.6
            [impuesto] => 15.57
        )

    [6] => Array
        (
            [periodo] => mensual
            [desde] => 6044640.01
            [hasta] => 15615320
            [factor] => 0.35
            [descuento] => 1174675.04
            [impuesto] => 27.48
        )

    [7] => Array
        (
            [periodo] => mensual
            [desde] => 15615320.01
            [hasta] => 0
            [factor] => 0.4
            [descuento] => 1955441.04
            [impuesto] => 27.48
        )

)

Previred

Por ahora solo soporta el periodo actual en el sitio de previred, una buena implementación sería un lector PDF para obtener datos de períodos anteriores

método retorno
getUF() float
getUTM() float
getRentaTopeImponibleAfp() float
getRentaTopeImponibleIps() float
getRentaTopeImponibleCesantia() float
getRentaMinimaImponibleDependiente() float
getRentaMinimaImponibleMenores() float
getRentaMinimaImponibleParticulares() float
getSeguroCesantia() \Gfarias\PreviScraper\CesantiaSupport
getTopeApvMensual() float
getTopeAPVAnual() float
getAfpCapital() \Gfarias\PreviScraper\AfpSupport
getAfpCuprum() \Gfarias\PreviScraper\AfpSupport
getAfpHabitat() \Gfarias\PreviScraper\AfpSupport
getAfpPlanVital() \Gfarias\PreviScraper\AfpSupport
getAfpProVida() \Gfarias\PreviScraper\AfpSupport
getAfpModelo() \Gfarias\PreviScraper\AfpSupport
getAfpUno() \Gfarias\PreviScraper\AfpSupport
getAsignacionTramoAMonto() float
getAsignacionTramoBMonto() float
getAsignacionTramoCMonto() float
getAsignacionTramoA() float
getAsignacionTramoB() float
getAsignacionTramoC() float
getAsignacionTramoD() float
all() array

CesantiaSupport Datos específicos del seguro de cesantía

método retorno
getIndefinidoEmpleador() float
getIndefinidoTrabajador() float
getPlazoFijoEmpleador() float
getIndefinidoSobre11Empleador() float
getCasaParticularEmpleador() float
toArray() array

AfpSupport Datos específicos de cada AFP

método retorno
getNombre() string
getCodigo() string
getPorcentajeDependiente() float
getPorcentajeSis() float
getPorcentajeIndependiente() float
toArray() array

Ejemplo de uso

$previScraper = new PreviScraper();
$previred = $previScraper->previred();
$rentaTopeImponible = $previred->getRentaTopeImponibleCesantia();
$porcentajeSisAfpHabitat = $previred->getAfpHabitat()->getPorcentajeSis();
$aporteCesantiaEmpleadorPlazoFijo = $previred->getSeguroCesantia()->getPlazoFijoEmpleador();

❤️

统计信息

  • 总下载量: 438
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 10
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 10
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-04-24

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固