?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
----
=== Proceso para consumo EnviarFactura ===
* Se inicializa un objeto ServiceClient o Servicio
* Se inicializa un objeto PeticionFactura donde se ingresan el RUC, el usuario de Integración ,clave de Integración y Documento
* Se hace consumo del método EnviarFactura contenido en el objeto serviceClient y se coloca como parámetro la petición anterior, la respuesta estará contenida en un objeto llamado RepuestaPeticion, la respuesta tendrá los parámetros Código, Mensaje y Archivo // //
try
{
ServiceClient servicio = new ServiceClient();
PeticionFactura pet = new PeticionFactura();
Factura fact = new Factura();
//******************************INFOTRIBUTARIA*******************************************
InfoTributaria infotrib = new InfoTributaria();
fact.InfoTributaria = InformacionTrib();
pet.Documento = fact;
fact.Version = textBox20.Text;
fact.CorreoNotificar = textBox76.Text;
fact.Notificar = "SI";
fact.DirCliente = "Direccion del cliente";
//**********************************INFOFACTURA*********************************************
InfoFactura infoFactura = new InfoFactura();
fact.InfoFactura = infoFactura;
infoFactura.FechaEmision = textBox1.Text;
infoFactura.DirEstablecimiento = textBox2.Text;
infoFactura.ContribuyenteEspecial = textBox3.Text;
infoFactura.ObligadoContabilidad = textBox4.Text;
infoFactura.TipoIdentificacionComprador = textBox5.Text;
infoFactura.RazonSocialComprador = textBox6.Text;
infoFactura.IdentificacionComprador = textBox7.Text;
infoFactura.DireccionComprador = textBox8.Text;
infoFactura.TotalSinImpuestos = textBox9.Text;
infoFactura.ImporteTotal = textBox10.Text;
infoFactura.TotalImpuestoReembolso = textBox34.Text;
infoFactura.TotalConImpuestos = new List();
infoFactura.TotalConImpuestos.Add(TotImp());
infoFactura.TotalDescuento = "0.00";
infoFactura.Moneda = "DOLAR";
infoFactura.TotalSubsidio = "0.00";
//*****************************DETALLES**********************************************
fact.Detalles = new List();
DetalleFactura det = new DetalleFactura()
{
CodigoPrincipal = textBox67.Text,
CodigoAuxiliar = textBox68.Text,
Descripcion = textBox69.Text,
Cantidad = textBox70.Text,
PrecioUnitario = textBox71.Text,
UnidadMedida = textBox72.Text,
Descuento = textBox73.Text,
PrecioSinSubsidio = textBox74.Text,
PrecioTotalSinImpuesto = textBox75.Text
};
det.Impuestos = new List();
det.Impuestos.Add(ImpuestDet());
det.DetAdicional = new List();
DetAdicional detAd = new DetAdicional
{
Nombre = "Nombre1",
Valor = "12345678"
};
det.DetAdicional.Add(detAd);
fact.Detalles.Add(det);
//***********************************PAGOS*********************************
Pago pago = new Pago
{
FormaPago = textBox63.Text,
Total = textBox64.Text,
Plazo = textBox65.Text,
UnidadTiempo = textBox66.Text
};
fact.InfoFactura.Pagos = new List();
fact.InfoFactura.Pagos.Add(pago);
fact.InfoFactura.TotalConImpuestos = new List();
fact.InfoFactura.TotalConImpuestos.Add(TotImp());
//**********************************ENVIO PETICION***************************
pet.Clave = "claveintegracion";
pet.RUC = "170000738001";
pet.Usuario = "ususariointegracion";
RepuestaPeticion resp = servicio.EnviarFactura(pet);
servicio.Close();
richTextBox1.Text = resp.Mensaje + "--" + resp.Codigo + "--" + "\r\n" + resp.Archivo;
}
catch (Exception ex)
{
MessageBox.Show("Mensaje error: " + ex);
}
try {
include ("Formas.php");
$wsdl_url = 'http://demointws.thefactoryhka.com.ec/Service.svc?wsdl';
$client = new SOAPClient($wsdl_url);
$objeto=new PeticionFactura();
$doc=new Documento();
$objeto->Documento=$doc;
// *****************DATOS INFOTRIBUTARIA***************
$infofact=new InfoFactura();
$objeto->Documento->InfoFactura=$infofact;
$infofact->DirEstablecimiento="Direccion estableciemineto";
$infofact->DireccionComprador="Direccion Comprador cualquiera";
$infofact->FechaEmision="16/02/2022";
$infofact->IdentificacionComprador="1791282183001";
$infofact->ImporteTotal="112.00";
$infofact->Moneda="DOLAR";
$infofact->ObligadoContabilidad="SI";
$pag=new Pago();
$pag->FormaPago="01";
$pag->Plazo="3";
$pag->Total="112.00";
$pag->UnidadTiempo="dias";
$infofact->Pagos=array($pag);
$infofact->RazonSocialComprador="INDUSTRIAL Y AUTOMOTRIZ INDYA S.A.";
$infofact->TipoIdentificacionComprador="04";
$totimp=new TotalConImpuesto();
$totimp->BaseImponible="100.00";
$totimp->Codigo="2";
$totimp->CodigoPorcentaje="2";
$totimp->Descuentoadicional="0.00";
$totimp->ValorDevolucionIva="0.00";
$totimp->Valor="120.00";
$totimp->Tarifa="12";
$infofact->TotalConImpuestos=array($totimp);
$infofact->TotalDescuento="0.00";
$infofact->TotalImpuestoReembolso="12.00";
$infofact->TotalSinImpuestos="100.00";
$infofact->TotalSubsidio="0.00";
// *********************DATOS INFOFACTURA***************
$infotrib = new InfoTributaria();
$infotrib->CodigoNumerico="12345678";
$infotrib->DirMatriz="direccion Matriz ABC";
$infotrib->Estab="001";
$infotrib->PtoEmi="101";
$infotrib->Secuencial="000000112";
$infotrib->Nombrecomercial="Fabrica Ecuatoriana Ecuagoch SA";
$infotrib->RazonSocial="ECUAGOCH";
$objeto->Documento->InfoTributaria=$infotrib;
$objeto->Documento->CorreoNotificar="scastillo@gmail.com";
$objeto->Documento->DirCliente="Direccion del cliente";
$objeto->Documento->Notificar="SI";
// ********************DETALLES*********************
$det=new DetalleFactura();
$det->Cantidad="1";
$det->CodigoAuxiliar="A000001";
$det->CodigoPrincipal="A000001A";
$det->Descripcion="Articulo Nuevo FFFF";
$impDet=new ImpuestoDetalle();
$impDet->BaseImponible="100.00";
$impDet->Codigo="2";
$impDet->CodigoPorRet="2";
$impDet->Tarifa="12";
$impDet->Valor="12.00";
$det->Impuestos=array($impDet);
$det->PrecioTotalSinImpuesto="100.00";
$det->PrecioUnitario="100.00";
$det->DetAdicional=array("Nombre"=>"NOmbreAdicionalx","Valor"=>"10.00");
$det->PrecioSinSubsidio="0.00";
$det->Descuento="0.00";
$doc->Detalles=array($det);
$pet = [array("data"=> $objeto )];
$return = $client->__soapCall("EnviarFactura", $pet);
print_r($return);
} catch (Exception $e) {
echo "Exception occured: " . $e;
}
Donde el archivo Formas.php es el siguiente:
== ARCHIVOS FACTURA XML/XSD ==
En este enlace se encuentran disponibles los xml y xsd de factura en sus distintas versiones
{{:xml_y_xsd_factura.zip}}
----
[[manual_de_integracion_obj|{{:60577.png?30x30 }}]]