@@ -191,14 +191,82 @@ def main ():
191191 #print(api_response)
192192
193193
194- invoice = Invoice (
194+ # invoice = Invoice(
195+ # version_code="4.0",
196+ # series="F",
197+ # date=datetime.now().strftime("%Y-%m-%dT%H:%M:%S"), #AAAA-MM-DDThh:mm:ss
198+ # payment_form_code="01",
199+ # payment_conditions="Contado",
200+ # currency_code="MXN",
201+ # type_code="I",
202+ # expedition_zip_code="01160",
203+ # payment_method_code="PUE",
204+ # exchange_rate=1,
205+ # export_code="01",
206+ # issuer=InvoiceIssuer(
207+ # tin="FUNK671228PH6",
208+ # legal_name="KARLA FUENTE NOLASCO",
209+ # tax_regime_code="621",
210+ # tax_credentials= [
211+ # TaxCredential(
212+ # base64_file="MIIFgDCCA2igAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDM0NDYwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTE4MTQzNTM3WhcNMjcwNTE4MTQzNTM3WjCBpzEdMBsGA1UEAxMUS0FSTEEgRlVFTlRFIE5PTEFTQ08xHTAbBgNVBCkTFEtBUkxBIEZVRU5URSBOT0xBU0NPMR0wGwYDVQQKExRLQVJMQSBGVUVOVEUgTk9MQVNDTzEWMBQGA1UELRMNRlVOSzY3MTIyOFBINjEbMBkGA1UEBRMSRlVOSzY3MTIyOE1DTE5MUjA1MRMwEQYDVQQLEwpTdWN1cnNhbCAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhNXbTSqGX6+/3Urpemyy5vVG2IdP2v7v001+c4BoMxEDFDQ32cOFdDiRxy0Fq9aR+Ojrofq8VeftvN586iyA1A6a0QnA68i7JnQKI4uJy+u0qiixuHu6u3b3BhSpoaVHcUtqFWLLlzr0yBxfVLOqVna/1/tHbQJg9hx57mp97P0JmXO1WeIqi+Zqob/mVZh2lsPGdJ8iqgjYFaFn9QVOQ1Pq74o1PTqwfzqgJSfV0zOOlESDPWggaDAYE4VNyTBisOUjlNd0x7ppcTxSi3yenrJHqkq/pqJsRLKf6VJ/s9p6bsd2bj07hSDpjlDC2lB25eEfkEkeMkXoE7ErXQ5QCwIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAHwYpgbClHULXYhK4GNTgonvXh81oqfXwCSWAyDPiTYFDWVfWM9C4ApxMLyc0XvJte75Rla+bPC08oYN3OlhbbvP3twBL/w9SsfxvkbpFn2ZfGSTXZhyiq4vjmQHW1pnFvGelwgU4v3eeRE/MjoCnE7M/Q5thpuog6WGf7CbKERnWZn8QsUaJsZSEkg6Bv2jm69ye57ab5rrOUaeMlstTfdlaHAEkUgLX/NXq7RbGwv82hkHY5b2vYcXeh34tUMBL6os3OdRlooN9ZQGkVIISvxVZpSHkYC20DFNh1Bb0ovjfujlTcka81GnbUhFGZtRuoVQ1RVpMO8xtx3YKBLp4do3hPmnRCV5hCm43OIjYx9Ov2dqICV3AaNXSLV1dW39Bak/RBiIDGHzOIW2+VMPjvvypBjmPv/tmbqNHWPSAWOxTyMx6E1gFCZvi+5F+BgkdC3Lm7U0BU0NfvsXajZd8sXnIllvEMrikCLoI/yurvexNDcF1RW/FhMsoua0eerwczcNm66pGjHm05p9DR6lFeJZrtqeqZuojdxBWy4vH6ghyJaupergoX+nmdG3JYeRttCFF/ITI68TeCES5V3Y0C3psYAg1XxcGRLGd4chPo/4xwiLkijWtgt0/to5ljGBwfK7r62PHZfL1Dp+i7V3w7hmOlhbXzP+zhMZn1GCk7KY=",
213+ # file_type=0,
214+ # password="12345678a"
215+ # ),
216+ # TaxCredential(
217+ # base64_file="MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIAgEAAoIBAQACAggAMBQGCCqGSIb3DQMHBAgwggS9AgEAMASCBMh4EHl7aNSCaMDA1VlRoXCZ5UUmqErAbucRBAKNQXH8t8gVCl/ItHMI2hMJ76QOECOqEi1Y89cDpegDvh/INXyMsXbzi87tfFzgq1O+9ID6aPWGg+bNGADXyXxDVdy7Nq/SCdoXvo66MTYwq8jyJeUHDHEGMVBcmZpD44VJCvLBxDcvByuevP4Wo2NKqJCwK+ecAdZc/8Rvd947SjbMHuS8BppfQWARVUqA5BLOkTAHNv6tEk/hncC7O2YOGSShart8fM8dokgGSyewHVFe08POuQ+WDHeVpvApH/SP29rwktSoiHRoL6dK+F2YeEB5SuFW9LQgYCutjapmUP/9TC3Byro9Li6UrvQHxNmgMFGQJSYjFdqlGjLibfuguLp7pueutbROoZaSxU8HqlfYxLkpJUxUwNI1ja/1t3wcivtWknVXBd13R06iVfU1HGe8Kb4u5il4a4yP4p7VT4RE3b1SBLJeG+BxHiE8gFaaKcX/Cl6JV14RPTvk/6VnAtEQ66qHJex21KKuiJo2JoOmDXVHmvGQlWXNjYgoPx28Xd5WsofL+n7HDR2Ku8XgwJw6IXBJGuoday9qWN9v/k7DGlNGB6Sm4gdVUmycMP6EGhB1vFTiDfOGQO42ywmcpKoMETPVQ5InYKE0xAOckgcminDgxWjtUHjBDPEKifEjYudPwKmR6Cf4ZdGvUWwY/zq9pPAC9bu423KeBCnSL8AQ4r5SVsW6XG0njamwfNjpegwh/YG7sS7sDtZ8gi7r6tZYjsOqZlCYU0j7QTBpuQn81Yof2nQRCFxhRJCeydmIA8+z0nXrcElk7NDPk4kYQS0VitJ2qeQYNENzGBglROkCl2y6GlxAG80IBtReCUp/xOSdlwDR0eim+SNkdStvmQM5IcWBuDKwGZc1A4v/UoLl7niV9fpl4X6bUX8lZzY4gidJOafoJ30VoY/lYGkrkEuz3GpbbT5v8fF3iXVRlEqhlpe8JSGu7Rd2cPcJSkQ1Cuj/QRhHPhFMF2KhTEf95c9ZBKI8H7SvBi7eLXfSW2Y0ve6vXBZKyjK9whgCU9iVOsJjqRXpAccaWOKi420CjmS0+uwj/Xr2wLZhPEjBA/G6Od30+eG9mICmbp/5wAGhK/ZxCT17ZETyFmOMo49jl9pxdKocJNuzMrLpSz7/g5Jwp8+y8Ck5YP7AX0R/dVA0t37DO7nAbQT5XVSYpMVh/yvpYJ9WR+tb8Yg1h2lERLR2fbuhQRcwmisZR2W3Sr2b7hX9MCMkMQw8y2fDJrzLrqKqkHcjvnI/TdzZW2MzeQDoBBb3fmgvjYg07l4kThS73wGX992w2Y+a1A2iirSmrYEm9dSh16JmXa8boGQAONQzQkHh7vpw0IBs9cnvqO1QLB1GtbBztUBXonA4TxMKLYZkVrrd2RhrYWMsDp7MpC4M0p/DA3E/qscYwq1OpwriewNdx6XXqMZbdUNqMP2viBY2VSGmNdHtVfbN/rnaeJetFGX7XgTVYD7wDq8TW9yseCK944jcT+y/o0YiT9j3OLQ2Ts0LDTQskpJSxRmXEQGy3NBDOYFTvRkcGJEQJItuol8NivJN1H9LoLIUAlAHBZxfHpUYx66YnP4PdTdMIWH+nxyekKPFfAT7olQ=",
218+ # file_type=1,
219+ # password="12345678a"
220+ # )
221+ # ]
222+ # ),
223+ # recipient=InvoiceRecipient(
224+ # tin="EKU9003173C9",
225+ # legal_name="ESCUELA KEMPER URGATE",
226+ # zip_code="42501",
227+ # tax_regime_code="601",
228+ # cfdi_use_code="G01",
229+ # email="mail@domain.com",
230+ # ),
231+
232+ # items=[
233+ # InvoiceItem(
234+ # item_code="01010101",
235+ # quantity= Decimal("9.5"),
236+ # unit_of_measurement_code="E48",
237+ # unit_of_measurement="Unidad de servicio",
238+ # description="Invoicing software as a service",
239+ # unit_price=Decimal("3587.75"),
240+ # tax_object_code="02",
241+ # item_sku="7506022301697",
242+ # discount=Decimal("255.85"),
243+ # item_taxes=[
244+ # ItemTax(
245+ # tax_code="002",
246+ # tax_type_code="Tasa",
247+ # tax_rate=Decimal("0.160000"),
248+ # tax_flag_code="T"
249+ # )
250+ # ]
251+ # )
252+ # ]
253+ # )
254+
255+ # # timbrar factura
256+ # api_response = client.invoices.create(invoice)
257+ # print(api_response)
258+
259+
260+
261+ # Crear nota de credito por valores
262+ credit_note = Invoice (
195263 version_code = "4.0" ,
196264 series = "F" ,
197265 date = datetime .now ().strftime ("%Y-%m-%dT%H:%M:%S" ), #AAAA-MM-DDThh:mm:ss
198266 payment_form_code = "01" ,
199267 payment_conditions = "Contado" ,
200268 currency_code = "MXN" ,
201- type_code = "I " ,
269+ type_code = "E " ,
202270 expedition_zip_code = "01160" ,
203271 payment_method_code = "PUE" ,
204272 exchange_rate = 1 ,
@@ -228,18 +296,23 @@ def main ():
228296 cfdi_use_code = "G01" ,
229297 email = "mail@domain.com" ,
230298 ),
299+ related_invoices = [
300+ RelatedInvoice (
301+ uuid = "05341ec6-538d-4d92-938e-acc9b33da47e" ,
302+ relationship_type_code = "01"
303+ )
304+ ],
231305
232306 items = [
233307 InvoiceItem (
234308 item_code = "01010101" ,
235- quantity = Decimal ("9 .5" ),
309+ quantity = Decimal ("0 .5" ),
236310 unit_of_measurement_code = "E48" ,
237311 unit_of_measurement = "Unidad de servicio" ,
238312 description = "Invoicing software as a service" ,
239313 unit_price = Decimal ("3587.75" ),
240314 tax_object_code = "02" ,
241315 item_sku = "7506022301697" ,
242- discount = Decimal ("255.85" ),
243316 item_taxes = [
244317 ItemTax (
245318 tax_code = "002" ,
@@ -249,14 +322,14 @@ def main ():
249322 )
250323 ]
251324 )
252- ]
325+ ]
253326 )
327+
328+ # timbrar nota de credito
329+ api_response = client .invoices .create (credit_note )
254330
255- # timbrar factura
256- api_response = client .invoices .create (invoice )
257331 print (api_response )
258332
259333
260-
261334if __name__ == "__main__" :
262335 main ()
0 commit comments