Skip to content

API Web

Rafael Dorantes edited this page Apr 19, 2023 · 7 revisions

CFDI 3.3

Crear un objeto de tipo CFDI

com.Facturama.sdk_java.Models.Request.Cfdi cfdi = new com.Facturama.sdk_java.Models.Request.Cfdi();

cfdi.setSerie("R");
cfdi.setCurrency("MXN");
cfdi.setExpeditionPlace("78116");
cfdi.setPaymentConditions("CREDITO A SIETE DIAS");
cfdi.setCfdiType( CfdiType.Ingreso.getValue());
cfdi.setPaymentForm("03");
cfdi.setPaymentMethod("PUE");

Receiver  receiver = new Receiver();

receiver.setRfc("RSS2202108U5");
receiver.setName("RADIAL SOFTWARE SOLUTIONS");
receiver.setCfdiUse("P01");

cfdi.setReceiver(receiver);

List<Item> lstItems = new ArrayList<>();

item.setProductCode("10101504");
item.setIdentificationNumber("EDL");
item.setDescription("Estudios de viabilidad");
item.setUnit("NO APLICA");
item.setUnitCode("MTS");
item.setUnitPrice(50.00);
item.setQuantity(2.00);
item.setSubtotal(100.00);

List<Tax> lstTaxes = new ArrayList<>();
  
tax.setTotal(16.00);
tax.setName("IVA");
tax.setRate(100.00);
tax.setBase(0.160000);
tax.setIsRetention(false);
lstTaxes.add(tax);
    
item.setTaxes(lstTaxes);
item.setTotal(116.0);
lstItems.add(item); 
    
cfdi.setItems(lstItems);

Creacion de CFDI 3.3

facturama.Cfdis().Create(cfdi);

Cancelación

facturama.Cfdis().Remove(cfdiCreated.getId(),"issued","01","7eo51BvzV-E16gBx3nnxfQ2");

Descarga en el formato deseado xml, html ó pdf

 String filePath = "factura";
 facturama.Cfdis().SavePdf(filePath+".pdf", "7eo51BvzV-E16gBx3nnxfQ2");
 facturama.Cfdis().SaveXml(filePath+".xml", "7eo51BvzV-E16gBx3nnxfQ2");

Consulta tus facturas en cualquier momento mediante una palabra clave ó algun atributo en específico

facturama.Cfdis().List("Expresion en Software");
facturama.Cfdis().ListFilterByRfc("ESO1202108R2");

Envia tu CFDI por Email

facturama.Cfdis().SendEmail("example@.mx",CfdiService.InvoiceType.Issued, "7eo51BvzV-E16gBx3nnxfQ2");

CFDI 4.0 - tipo Ingreso

Crear un objeto de tipo CFDI

com.Facturama.sdk_java.Models.Request.Cfdi cfdi = new com.Facturama.sdk_java.Models.Request.Cfdi();

cfdi.setSerie("R");
cfdi.setCurrency("MXN");
cfdi.setExpeditionPlace("78116");
cfdi.setPaymentConditions("CREDITO A SIETE DIAS");
cfdi.setCfdiType( CfdiType.Ingreso.getValue());
cfdi.setPaymentForm("03");
cfdi.setPaymentMethod("PUE");

Receiver  receiver = new Receiver();

receiver.setRfc("EKU9003173C9");
receiver.setName("ESCUELA KEMPER URGATE");
receiver.setCfdiUse("P01");
receiver.setFiscalRegime("603"); //Nuevo elemento
receiver.setTaxZipCode("26015")  //Nuevo elemento

cfdi.setReceiver(receiver);

List<Item> lstItems = new ArrayList<>();

item.setProductCode("10101504");
item.setIdentificationNumber("EDL");
item.setDescription("Estudios de viabilidad");
item.setUnit("NO APLICA");
item.setUnitCode("MTS");
item.setUnitPrice(50.00);
item.setQuantity(2.00);
item.setSubtotal(100.00);
item.setTaxObject("02"); // Nuevo elemento

List<Tax> lstTaxes = new ArrayList<>();
  
tax.setTotal(16.00);
tax.setName("IVA");
tax.setRate(100.00);
tax.setBase(0.160000);
tax.setIsRetention(false);
lstTaxes.add(tax);
    
item.setTaxes(lstTaxes);
item.setTotal(116.0);
lstItems.add(item); 
    
cfdi.setItems(lstItems);

Metodo para probar CFDI 4.0

facturama.Cfdis().Create3(cfdi);

Buscar CFDi por tipo y OrderNumber

// Primer ejemplo, solo dos datos en consulta.
   List<CfdiSearchResult> lstCfdiByOrderNumber = facturama.Cfdis().ListFilterByOrderNumber(CfdiService.InvoiceType.Issued, "050408");
   System.out.println("Se el Id de la factura: " + lstCfdiByOrderNumber.get(0).getId());



// segundo ejemplo, multiples datos en consulta.

int FolioIni=-1;
int FolioFin=-1;
String Rfc="OÑO120726RX3";
String taxEntityName= null;
String dateStart=null;
String dateEnd=null;
String idBranch=null;
String serie=null;
CfdiService.CfdiStatus status = CfdiService.CfdiStatus.all;
String OrderNumber= "050408";
        
List<CfdiSearchResult> lstCfdiByOrderNumber2 = facturama.Cfdis().List(FolioIni, FolioFin, Rfc, taxEntityName, dateStart, dateEnd, idBranch, serie, status, type, OrderNumber);
 System.out.println("Se obtiene la lista de facturas: " + lstCfdiByOrderNumber2.get(0).getId());
Clone this wiki locally