static void AddItem(Comprobante cfd, string code, string name, decimal qty, decimal amount) { int count = 1; if (cfd.Conceptos == null) { cfd.Conceptos = new ComprobanteConcepto [count]; } else { count = cfd.Conceptos.Length + 1; var items = cfd.Conceptos; Array.Resize (ref items, count); cfd.Conceptos = items; } cfd.Conceptos[count-1] = new ComprobanteConcepto { cantidad = qty, unidad = "N/A", noIdentificacion = code, descripcion = name, valorUnitario = amount, importe = Math.Round(qty * amount, 2) }; cfd.subTotal = cfd.Conceptos.Sum (x => x.importe); cfd.total = Math.Round (cfd.subTotal * 1.16m, 2); cfd.Impuestos.Traslados = new ComprobanteImpuestosTraslado[] { new ComprobanteImpuestosTraslado { impuesto = ComprobanteImpuestosTrasladoImpuesto.IVA, importe = cfd.total - cfd.subTotal, tasa = 16 } }; }
public TimbreFiscalDigital Stamp(string id, Comprobante cfd) { return Stamp (id, cfd.ToXmlBytes ()); }
static void AddItems(Comprobante cfd, string prefix, int count) { var sum = 0m; cfd.Conceptos = new ComprobanteConcepto[count]; for(int i = 1; i <= count; i++) { cfd.Conceptos[i-1] = new ComprobanteConcepto { cantidad = i, unidad = "N/A", noIdentificacion = string.Format("P{0:D4}", i), descripcion = string.Format("{0} {1:D4}", prefix, i), valorUnitario = 5m * i, importe = 5m * i * i }; sum += 5m * i * i; } cfd.subTotal = sum; cfd.total = Math.Round(sum * 1.16m, 2); cfd.Impuestos.Traslados = new ComprobanteImpuestosTraslado[] { new ComprobanteImpuestosTraslado { impuesto = ComprobanteImpuestosTrasladoImpuesto.IVA, importe = cfd.total - cfd.subTotal, tasa = 16 } }; }
static Comprobante CreateCFD() { var cfd = new Comprobante { tipoDeComprobante = ComprobanteTipoDeComprobante.ingreso, serie = "A", folio = "1", fecha = TEST_DATE, LugarExpedicion = "México, DF", metodoDePago = "Efectivo", formaDePago = "PAGO EN UNA SOLA EXHIBICION", TipoCambio = (1m).ToString(), Moneda = "MXN", noCertificado = "20001000000200001428", certificado = Convert.ToBase64String (File.ReadAllBytes (CSD_CERTIFICATE_FILE)), Emisor = new ComprobanteEmisor { rfc = "AAA010101AAA", nombre = "ACME SC", RegimenFiscal = new ComprobanteEmisorRegimenFiscal[] { new ComprobanteEmisorRegimenFiscal { Regimen = "Régimen General de Ley Personas Morales" } }, }, Receptor = new ComprobanteReceptor { rfc = "XAXX010101000", nombre = "DEMO COMPANY SC" }, Impuestos = new ComprobanteImpuestos() }; return cfd; }