Code Monkey home page Code Monkey logo

sufel's Introduction

Sufel

Travis-CI Coverage Status Codacy Badge

Sufel es una libreria que implementa los procesos de almacenamiento de comprobantes electronicos, y posterior acceso a estos por parte de los receptores de dichos comprobantes, en el marco de la facturación electrónica en Perú, y exigido por SUNAT a los emisores electrónicos.

6.Definir una forma de autenticación que garantice que solo el adquirente o usuario puede acceder a la información.

Install

From packagist.

composer require giansalex/sufel

Características

  • Recepcionamiento de xml y pdf.
  • Multi-Empresa
  • Consulta individual de comprobantes empleando datos como el ruc del emisor, tipo, serie, correlativo, fecha y total del comprobante.
  • Descarga del comrobante en formato xml y pdf.
  • Acceso al receptor para registrarse (actualmente solo para receptores con RUC)
  • Consulta de todos los comprobantes de un receptor registrado

API REST

Empleando Slim Framework, Sufel Rest.

UI Client

Una implementación basada en Angular 6 SUFEL Angular

sufel's People

Contributors

giansalex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sufel's Issues

especificar que carpeta contiene los archivos a subir

Giansalex, disculpa tengo la duda de como especificar la carpeta local donde se encuentran el XML y el PDF.
actualmente subo los archivos manualmente a la carpeta public y desde ahi los llamo para que se integren a la API-SUFEL con este codigo:
`

subir archivos

$xml, 'pdf' => $pdf]; ?> <script> function myFunction() { var data = { xml: "", pdf: "", } $.ajax({ url: 'http://mipagina.com/sufel/public/api/company/documents', type: 'POST', dataType: 'json', contentType: "application/json; charset=utf-8", data: JSON.stringify(data), headers: { Authorization: "Bearer 2eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzY29wZSI6WyJjb21wYW55Il0sInJ1YyI6IjIwNTQ3NzAxMjA5IiwiZXhwIjoxNTcyNzA2NDc5fQ.AL_f4vXWtbtW77WN9dF1eaaz5EAyplaPUX6aJ1JOALk" }, success:function(r,extStatus, xhr){ console.log(extStatus); document.getElementById('cont1').innerHTML=xhr.status; }, error: function (jqXHR, exception) { document.getElementById('cont1').innerHTML=jqXHR.status; console.log(jqXHR); // Your error handling logic here.. } }); } </script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> ` pero lo correcto seria especificar la carpeta local de donde leer los archivos, por ejemplo c:\archivos_pdf y c:\archivos_xml pero no encuentro la manera correcta de poder especificar las carpetas donde PHP debe buscar los archivos. Seria una gran ayuda que me pudieras ayudar con esto.

Saludos y muchas gracias

ayuda

amigo, esto tambien es aceptado en vez de enviar email no ? o son diferentes consulta y envio de representacion impresa

diferenciar el mensaje de respuesta cuando el documento ya existe en la BD

Buenas Giansalex, una consulta a que parametro debo llamar para saber cuando el documento ya fue enviado anteriormente, por que durante mis pruebas si el documento existe o no, me devuelve en los dos casos codigo 200 pero como puedo diferenciar cuando se guardo uno nuevo o el documento ya existe.
Saludos
Gracias

Adaptando a sufel para UBL2.1

Estoy tratando de adaptar sufel para UBL2.1.
Pero cuando trato de traer los tags obtengo esto:

->setEmisor($this->getFirst('cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID))
Obtengo un error 500

->setEmisor($this->getFirst('cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID schemeID="6"))
Obtengo vacio

Sin embargo para los campos de razón social los trae correctamente ... ¿Cual será el error?

Convert sufel to package

Al convertir sufel en package se podrá integrar en proyectos ya construidos, así como integrar en los distintos frameworks, también permitirá que se maneje una lógica personalizada del acceso a la información de los comprobantes electrónicos y lectura de archivos (xml, pdf).

Pruebas para anular documento

Hola Giansalex, Desarrolle una aplicacion en JAVA para el envio de documentos a sufel.
todo funciona bien pero al enviar una nota de credito tambien envio el PATCH para la anulacion del documento que tiene asociado la Nota de Credito. al principio al enviar el PATCH me devolvia error.
java.net.ProtocolException: Invalid HTTP method: PATCH
cambie esta linea
con.setRequestMethod("PATCH");
por estas otras 2
con.setRequestProperty("X-HTTP-Method-Override", "PATCH");
con.setRequestMethod("POST");
y ya me devuelve estado 200 pero no me anula el documento en la base de datos.
me podrias decir si es un tema de que no se puede usar de la manera que lo estoy haciendo o algo falta en sufel para que acepte de esta manera ya que si huviera algun error no devolveria 200, pero en este caso si devuelve 200.
Gracias.

Descarga de XML devuelve caracteres errados

Giansalex, estoy accediendo a sufel mediante CURL y consigo respuesta pero esta no se muestra en formato xml y no sale directo para descarga.
Mi código
<?php $authorization = "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzY29wZSI6WyJkb2N1bWVudCJdLCJkb2MiOiIyIiwiZXhwIjoxNTcyMDQ4MDc5fQ.zDEeTEDYK8dXC8nUCVfzVUENlIEMVh90Ab7CtendSRo"; $cliente = curl_init(); curl_setopt($cliente, CURLOPT_URL, "http://mipagina.com/sufel/public/api/document/resource/xml"); curl_setopt($cliente, CURLOPT_HTTPHEADER, array('text/xml; charset=utf-8',$authorization)); curl_setopt($cliente, CURLOPT_RETURNTRANSFER, 1); $respuesta = curl_exec($cliente); curl_close($cliente); $respuesta = explode("\n\r\n", $respuesta); $headers = $respuesta[0]; echo $headers; ?>
Este me devuelve esto:
708A5EF6-2057-4EEC-A473-3E01E4667CD7
Que le falta a mi código para que dé frente me descargue el xml en formato correcto?

Enviar correo al guardar el documento

Giansalex, por donde podría comenzar si quiero que cuando se suba un documento también se envíe el xml y pdf al correo del cliente.
Saludos
Gracias por la ayuda y paciencia
Actualmente tengo corriendo en un hosting SUFEL consumido por sufel-angular y le envío los archivos con un ejecutable que hice en Java y todo funciona correctamente solo tengo pendiente lo de enviar los archivos al correo del cliente una vez que se guardo en SUFEL.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.