lunes, mayo 30, 2011

Addenda de AMECE usando las librerias CFD / CFDI

Con las librerias CFD, es muy sencillo agregar addendas a un CFD o CFDI incrustando un fragmento de XML a manera de string .

Sin embargo tambien existe la posibilidad de utilizar una serie de objetos previamente construidos por nuestra parte y serializarlos para hacer las cosas aun mas sencillas.

En este ejemplo estoy utilizando un objeto que representa la especificacion de addenda de la AMECE, para construir el xml que necesito incrustar en mi CFD

Este es el ejemplo que me envian

image

Desde visual studio solo tengo que escribir el siguiente codigo

'crea el objeto de la addenda
Dim addenda As New CFD.Addendas.AMECE.Addenda.AddendaRequestForPayment

With addenda
'atributos
.DeliveryDate = "2010-12-17"
.documentStatus = "ORIGINAL"
.documentStructureVersion = "AMC7.1"
.contentVersion = "1.3.1"
.type = "SimpleInvoiceType"

'ELEMENTO: <requestForPaymentIdentification>
.requestForPaymentIdentification = New List(Of CFD.Addendas.AMECE.Addenda.AddendaRequestForPaymentRequestForPaymentIdentification)
Dim pi As New CFD.Addendas.AMECE.Addenda.AddendaRequestForPaymentRequestForPaymentIdentification
pi.entityType = "INVOICE"
pi.uniqueCreatorIdentification = "ABC9999999"
.requestForPaymentIdentification.Add(pi)

'ELEMENTO: <specialInstruction>
.specialInstruction = New List(Of CFD.Addendas.AMECE.Addenda.AddendaRequestForPaymentSpecialInstruction)
Dim si As New CFD.Addendas.AMECE.Addenda.AddendaRequestForPaymentSpecialInstruction
si.code = "SOC"
si.text = "1000"
.specialInstruction.Add(si)

'ELEMENTO: <orderIdentification>
.orderIdentification = New List(Of CFD.Addendas.AMECE.Addenda.referenceIdentification)
Dim oi As New CFD.Addendas.AMECE.Addenda.referenceIdentification
oi.type = "ON"
oi.Value = "45000888722"
.orderIdentification.Add(oi)

End With

y el resultado en XML es


image


para incrustarlo en el el CFD, usa el metodo AgregaXMLAddenda()


cfd.AgregaXMLAddenda(addenda.Serialize, False, False)

5 comentarios:

  1. hola, sabes, yo soy nueva en este rollo y kiza no venga al caso pero resulta ke toy haciendo unos trabajos en visual basic y tengo algunos problemas...
    tu puedes decirme, como crear una factura en VB, ya le di vuelta a google, y lo poco que e encontrado la verdad no le entiendo mucho ademas de ke no eh encontrado nada concreto... te dejo mi correo x si te animas a ayudarme.. florazul_68@hotmail.com GRACIAS!!

    ResponderEliminar
  2. Anónimo4:25 p. m.

    Hola quisiera saber si para CFDI tanto el nodo Addenda como los nodos de la addenda deben llevar el prefijo cfdi:
    Estoy trabajando con la addenda de AMECE y me salen errores en el validador pero no se si sea por esta razon

    muchas gracias

    ResponderEliminar
  3. Anónimo3:42 p. m.

    tengo mi addenda y me genera error es la siguiente

    Complemento>" " "" .
    .
    .
    .
    .
    " ""

    El detalle es que como le hago para que me lee los : como caracter.

    Saludos

    ResponderEliminar
  4. Hola pues utilizo VB.NEt 2010 y kiero ver como generar una adenda desde 0 y poderla integrar a un sistema de facturacion que tengo.
    es como un modulo aparte?
    Saudos en realidad necesito ayuda.

    ResponderEliminar
  5. Hola amigo pero esta es solo cuando tenemos la Factura Elec CFDI cierto, y como le haria para que una vez leido un xml externo facturado y timbrado, solo crre una subrutina y pegue el objeto addenda en el xml leido se podria eso?
    Claro capturando los datos mediante el form.

    ResponderEliminar