Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
O
onestartup-factura-digital
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Angel Martin
  • onestartup-factura-digital
  • Wiki
  • Instalacion y uso

Instalacion y uso

Last edited by Angel Martin Jun 29, 2018
Page history

Package Onestartup Factura digital

onestartup/factura-digital es una libreria para consumir la api de facturadigital.com.mx

Instalación

  • Correr el siguiente comando en la terminal

    composer require onestartup/factura-digital
  • Agregar la siguiente linea al arreglo de provider en el archivo configuracion en config/app.php

    Onestartup\FacturaDigital\FacturaDigitalProvider::class,
  • Agregar la siguiente linea al arreglo de aliases en el archivo configuracion en config/app.php

    'FacturaDigital' => Onestartup\FacturaDigital\Facades\Factura::class,
  • Agregar varaibles en archivo .env

    USER_FACTURA_DIGITAL=usuario
    PASSWORD_FACTURA_DIGITAL=password

Como utilizar la libreria:

Consultar creditos

  $creditos =  FacturaDigital::creditos()

Retorna :

  {
  mensaje:  "11565 creditos disponibles.",
  creditos:  11565,
  codigo:  200
}

Configurar regimen fiscal del emisor

$emisor = FacturaDigital::emisor()
      ->setRegimenFiscal('612')
      ->getData();

Configurar la información del receptor

  $receptor = FacturaDigital::receptor()
      ->setRfc('NDI120326HF5')
      ->setNombre('Novatech Digital SA de CV')
      //->setNumRegIdTrib('')
      ->setUsoCFDI('G03')
      ->setCalle('Palmas')
      ->setNoExt('129')
      ->setColonia('Centro')
      ->setMunicipio('Guadalupe')
      ->setEstado('Nuevo León')
      ->setPais('Mexico')
      ->setCodigoPostal('98000')
      ->getData();

Registrar los conceptos de la factura

  $concepto = FacturaDigital::concepto()
      ->setClaveProdServ('01010101')
      ->setNoIdentificacion('01')
      ->setCantidad('3.00')
      ->setClaveUnidad('KGM')
      ->setUnidad('Kilo')
      ->setDescripcion('Coca cola')
      ->setValorUnitario('15')
      ->getData();


  $concepto2 = FacturaDigital::concepto()
      ->setClaveProdServ('01010101')
      ->setNoIdentificacion('02')
      ->setCantidad('2')
      ->setClaveUnidad('KGM')
      ->setUnidad('PZA')
      ->setDescripcion('Hamburgruesa')
      ->setValorUnitario('70')
      ->getData();

  $concepto3 = FacturaDigital::concepto()
   ->setClaveProdServ('01010101')
   ->setNoIdentificacion('03')
   ->setCantidad('3')
   ->setClaveUnidad('KGM')
   ->setUnidad('PZA')
   ->setDescripcion('Alitas Personal')
   ->setValorUnitario('50')
   ->getData();

Agregar a la lista de los conceptos

$lista = FacturaDigital::listaConceptos();
$lista->setConceptos(array($concepto, $concepto2, $concepto3));

Obtener los totales (Impuestos y conceptos libres de impuestos)

 $totales = $lista->getTotalConceptos();
 retorna ['totalConceptos', 'totalImpuestos']

Registrar datos generales de la factura

  $factura = FacturaDigital::setSerie('F')
   ->setFolio('71278')
   ->setFecha('AUTO')
   ->setFormaPago('01')//01 Efectivo
   ->setCondicionesDePago('Pago de contado')
   ->setMoneda('MXN')
   ->setTipoCambio('1')
   ->setTipoDeComprobante('I')
   ->setMetodoPago('PUE')
   ->setLugarExpedicion('67150') //C.P.
   ->setLeyendaFolio('Factura')
  ->setSubTotal($totales['totalConceptos'])
  //->setDescuento('30.00')
  ->setTotal($totales['totalConceptos'] + $totales['totalImpuestos'] );

Registrar impuesto total

  $impuesto = FacturaDigital::impuesto()
  ->getData($totales['totalImpuestos']);

Agregar todos los datos a la factura

$factura->setEmisor($emisor);
$factura->setReceptor($receptor);
$factura->setConceptos($lista->getData());
$factura->setImpuestos($impuesto);

Generar factura

  $factura_final = $factura->enviar();

retorna el siguiente arreglo

{
  mensaje:  "Timbrado exitoso",   
  codigo:  200,  
  cfdi:
      {
       NoCertificado:  "",
       UUID:  "",
       FechaTimbrado:  "2018-06-28T16:33:27",
       RfcProvCertif:  "FEL100622S88",
       SelloCFD:"",
       NoCertificadoSAT:  "20001000000300022323",
       SelloSAT:  "",
       CadenaOrigTFD:  "",
       CadenaQR:  "",
       XmlBase64:  "",
       PDF:  "",
       XML:  ""
      }
}

Enviar factura por correo

$enviar = $factura->enviarCorreo($uuid, '[email protected]', 'tu mensaje adicional');

Esto retorna un booleano

if ($enviar) {
     return "Factura enviada por correo";
} else {
  return "Errorsillo";
}

Para cancelar un CFDI

$cancela = $factura->cancelarCFDI('UUID');
Clone repository
  • Instalacion y uso
More Pages
×

New Wiki Page

Tip: You can specify the full path for the new file. We will automatically create any missing directories.