phpcfdi/csf-scraper

Obtiene los datos fiscales actuales de una persona moral o física dado su RFC y CIFID

v0.1.7 2024-01-10 17:18 UTC

This package is auto-updated.

Last update: 2024-12-10 20:07:02 UTC


README

Source Code Packagist PHP Version Support Discord Latest Version Software License Build Status Reliability Maintainability Code Coverage Violations Total Downloads

Obtiene los datos fiscales actuales de una persona moral o física dado su RFC y CIFID.

🇺🇸 The documentation of this project is in spanish as this is the natural language for intended audience.

🇲🇽 La documentación del proyecto está en español porque ese es el lenguaje principal de los usuarios.

Instalación

Usa composer

composer require phpcfdi/csf-scraper

Esta librería requiere del uso de un cliente que implemente GuzzleHttp\ClientInterface; puedes obtener más información de esta librería en guzzle.

Ejemplo de uso

<?php

declare(strict_types=1);

use GuzzleHttp\Client;
use PhpCfdi\CsfScraper\Scraper;
use PhpCfdi\Rfc\Rfc;

require 'vendor/autoload.php';

$scraper = Scraper::create();

$rfc = Rfc::parse('YOUR_RFC');

$person = $scraper->obtainFromRfcAndCif(rfc: $rfc, idCIF: 'ID_CIF');

// También puedes obtener los datos de la persona directamente del archivo local PDF
// (Ten en cuenta que esta funcionalidad requiere de tener instalado poppler-utils en tu servidor).
$person = $scraper->obtainFromPdfPath('LOCAl_PDF_FILE_PATH');

// puedes acceder a los datos de la persona (moral o física) usando los métodos incluidos:
if($rfc->isFisica()) {
    echo $person->getNombre();
}
if($rfc->isMoral()) {
    echo $person->getRazonSocial();
}

// o puedes obtener el array de datos usando
echo print_r($person->toArray(), true);

Ejemplo de salida de json_encode($person) para persona moral:

{
  "rfc": "DIM8701081LA",
  "id_cif": "12345678",
  "razon_social": "Mi razón social",
  "regimen_de_capital": "SA DE CV",
  "fecha_constitucion": {
    "date": "2019-02-21 22:50:46.000000",
    "timezone_type": 3,
    "timezone": "UTC"
  },
  "fecha_inicio_operaciones": {
    "date": "2019-02-21 22:50:46.000000",
    "timezone_type": 3,
    "timezone": "UTC"
  },
  "situacion_contribuyente": "ACTIVO",
  "fecha_ultimo_cambio_situacion": {
    "date": "2019-02-21 22:50:46.000000",
    "timezone_type": 3,
    "timezone": "UTC"
  },
  "entidad_federativa": "CIUDAD DE MEXICO",
  "municipio_delegacion": "CUAUHTEMOC",
  "colonia": "CUAUHTEMOC",
  "tipo_vialidad": "Tipo vialidad",
  "nombre_vialidad": "PASEO DE LA REFORMA",
  "numero_exterior": "143",
  "numero_interior": "Piso 69",
  "codigo_postal": "72055",
  "correo_electronico": "example@example.com",
  "al": "CIUDAD DE MEXICO 2",
  "regimenes": [
    {
      "regimen": "Régimen General de Ley Personas Morales",
      "regimen_id": "601",
      "fecha_alta": {
        "date": "2019-02-21 22:50:46.000000",
        "timezone_type": 3,
        "timezone": "UTC"
      }
    }
  ],
  "extra_data": []
}

Ejemplo de salida de json_encode($person) para persona física:

{
  "rfc": "COSC8001137NA",
  "id_cif": "1904014102123",
  "curp": "CURP",
  "nombre": "JUAN",
  "apellido_paterno": "PEREZ",
  "apellido_materno": "RODRIGUEZ",
  "fecha_nacimiento": {
    "date": "1973-05-01 22:53:25.000000",
    "timezone_type": 3,
    "timezone": "UTC"
  },
  "fecha_inicio_operaciones": {
    "date": "2004-11-03 22:53:25.000000",
    "timezone_type": 3,
    "timezone": "UTC"
  },
  "situacion_contribuyente": "ACTIVO",
  "fecha_ultimo_cambio_situacion": {
    "date": "2004-11-03 22:53:25.000000",
    "timezone_type": 3,
    "timezone": "UTC"
  },
  "entidad_federativa": "CIUDAD DE MEXICO",
  "municipio_delegacion": "IZTAPALAPA",
  "colonia": "MI COLONIA",
  "tipo_vialidad": "CALLE",
  "nombre_vialidad": "BENITO JUAREZ",
  "numero_exterior": "183",
  "numero_interior": "",
  "codigo_postal": "72000",
  "correo_electronico": "",
  "al": "CIUDAD DE MEXICO 3",
  "regimenes": [
    {
      "regimen": "Régimen de Incorporación Fiscal",
      "regimen_id": "621",
      "fecha_alta": {
        "date": "2014-01-01 22:53:25.000000",
        "timezone_type": 3,
        "timezone": "UTC"
      }
    }
  ],
  "extra_data": []
}

Soporte

Puedes obtener soporte abriendo un ticket en Github.

Adicionalmente, esta librería pertenece a la comunidad PhpCfdi, así que puedes usar los mismos canales de comunicación para obtener ayuda de algún miembro de la comunidad.

Compatibilidad

Esta librería se mantendrá compatible con al menos la versión con soporte activo de PHP más reciente.

También utilizamos Versionado Semántico 2.0.0 por lo que puedes usar esta librería sin temor a romper tu aplicación.

Contribuciones

Las contribuciones son bienvenidas. Por favor lee CONTRIBUTING para más detalles y recuerda revisar el archivo de tareas pendientes TODO y el archivo CHANGELOG.

Copyright and License

The phpcfdi/csf-scraper library is copyright © PhpCfdi and licensed for use under the MIT License (MIT). Please see LICENSE for more information.