// Crea una consulta de facturas emitidas private static ARInvoicesQuery CrearConsultaFacturasEmitidas() { // Titular que realizó el envío de las facturas a consultar Party titular = new Party() { TaxIdentificationNumber = "B12959755", PartyName = "IRENE SOLUTIONS SL" }; // Creamos una consulta de facturas emitidas ARInvoicesQuery consultaFacturasEmitidas = new ARInvoicesQuery { Titular = titular }; // La consulta de facturas emitidas contine un objeto factura emitida // que utilizaremos para pasarle los datos de filtro. ARInvoice facturaConDatosFiltro = consultaFacturasEmitidas.ARInvoice; // Filtramos por fecha de emisión. facturaConDatosFiltro.IssueDate = new DateTime(2017, 1, 15); return(consultaFacturasEmitidas); }
/// <summary> /// Crea un lote de facturas emitidas para su envío al SII /// de la aeat. /// </summary> /// <returns></returns> private static ARInvoicesQuery CreaLoteDeEmitidasEnviadas() { // Informamos los datos necesarios para realizar la petición ARInvoicesQuery LoteFactEmitEnviadas = new ARInvoicesQuery(); // Creamos el titular del envío Party titular = new Party() { TaxIdentificationNumber = "V57525560", PartyName = "IRENE SOLUTIONS SL" }; LoteFactEmitEnviadas.Titular = titular; // Necesitamos indicar una fecha de factura, para que se pueda calcular el ejercicio y periodo // que son necesarios y obligatorios para realizar esta peticiones. ARInvoice facturaEnviadaPrimera = new ARInvoice(); facturaEnviadaPrimera.IssueDate = new DateTime(2017, 1, 15); // Fecha factura // // Estos campos son opcionales, de manera que los informaremos si necesitamos buscar una factura // en concreto o aquellas cuya fecha de expedición coincida con la indicada en la petición // //facturaEnviadaPrimera.SellerParty = new Party() // El cliente //{ // TaxIdentificationNumber = "B12756474" //}; //facturaEnviadaPrimera.InvoiceNumber = "E00027"; // El número de factura LoteFactEmitEnviadas.ARInvoice = facturaEnviadaPrimera; return(LoteFactEmitEnviadas); }
/// <summary> /// Consultar facturas emitidas. /// </summary> public void ConsultarFacturasEmitidas() { // Creo la consulta de facturas emitidas ARInvoicesQuery consultaFacturasEmitidas = CrearConsultaFacturasEmitidas(); // Petición de factura emitidas envíada a la AEAT mediante el SII. Wsd.GetFacturasEmitidas(consultaFacturasEmitidas); // Mostramos el xml de respuesta de la AEAT en el web browser. webBrw.Navigate(Settings.Current.InboxPath + consultaFacturasEmitidas.GetReceivedFileName()); }
/// <summary> /// Inicia entorno. /// </summary> private void Inizialize() { _PetFactEmitEnviadas = new ARInvoicesQuery(); _LoteBajaFactEmitidas = new ARInvoicesDeleteBatch(); _Titular = new Party(); _PetFactEmitEnviadas.Titular = _Titular; ResetFactura(); //BindModelBusqueda(); }
/// <summary> /// Ejemplo de envío de un lote de facturas emitidas /// </summary> public void EnviarConsultaFactEmit() { // Creamos un lote de factura recibidas ARInvoicesQuery LoteDeFacturasEmitidas = CreaLoteDeEmitidasEnviadas(); // Realizamos el envío del lote a la AEAT Wsd.GetFacturasEmitidas(LoteDeFacturasEmitidas); // Muestro el xml de respuesta recibido de la AEAT en el web browser webBrw.Navigate(Settings.Current.InboxPath + LoteDeFacturasEmitidas.GetReceivedFileName()); }
/// <summary> /// Devuelve las facturas emitidas registradas /// por los clientes del titular /// del lote en el periodo indicado. /// </summary> /// <param name="period">Periodo en formato yyyy.MM.</param> /// <param name="titular">Titular de las facturas a recuperar.</param> /// <param name="cliente">Cliente del que recuperar las facturas.</param> /// <returns>Lista de facturas emitidas en el periodo.</returns> private static RespuestaConsultaLRFactInformadasCliente GetByPeriodFE(string period, Party titular, Party cliente) { ARInvoicesQuery batchInvoiceQuery = new ARInvoicesQuery() { Titular = titular }; ARInvoice templateInvoiceQuery = new ARInvoice(); templateInvoiceQuery.BuyerParty = cliente; string syear = period.Substring(0, 4); string smonth = period.Substring(5, 2); int year = Convert.ToInt32(syear); int month = Convert.ToInt32(smonth); DateTime date = new DateTime(year, month, 1); // Necesitamos indicar una fecha de factura, para que se pueda calcular el ejercicio y periodo // que son necesarios y obligatorios para realizar esta peticiones. templateInvoiceQuery.IssueDate = date; batchInvoiceQuery.ARInvoice = templateInvoiceQuery; string response = Wsd.GetFacturasEmitidasCliente(batchInvoiceQuery); try { // Obtengo la respuesta de la consulta de facturas recibidas del archivo de respuesta de la AEAT. Envelope envelope = Envelope.FromXml(response); if (envelope.Body.RespuestaConsultaLRFactInformadasCliente != null) { return(envelope.Body.RespuestaConsultaLRFactInformadasCliente); } SoapFault msgError = envelope.Body.RespuestaError; if (msgError != null) { throw new Exception($"{msgError.FaultDescription}"); } } catch (Exception ex) { throw ex; } return(null); }
/// <summary> /// Inicia entorno. /// </summary> private void Inizialize() { _PetFactEmitEnviadas = new ARInvoicesQuery(); _LoteBajaFactEmitidas = new Batch(BatchActionKeys.DR, BatchActionPrefixes.BajaLR, BatchTypes.FacturasEmitidas); _Titular = new Party(); _PetFactEmitEnviadas.Titular = _Titular; ResetFactura(); lbNifCert.Text = ""; lbNroSerie.Text = ""; //BindModelBusqueda(); }