HUI DA INTELLECTUAL PROPERTY AGENCY","InvoicePayment_ID":"2340388000074880051","Invoice_Number":"2057363","Invoice_Applied":"383.62","Balance":"383.62","Invoice_Applied_BCY":"7198.63","Invoice_Amount":"383.62","Invoice_Amount_BCY":"7790.63","Invoice_Exch_Rate":"20.308200","Tipo":"Pago","Batch":"71"}, {"payment_number":"34311","payment_id":"2340388000074776836","P_Date":"01-Jul-25","exchange_rate":"18.833200","amount":"735.00","amount_bcy":"13842.40","reference_number":"IN001JUL25","currency_code":"USD","CustomerID_B":"2340388000001156644","Nombre_Cliente":"07310 USAIN ST. LEO BOLT","InvoicePayment_ID":"2340388000074776844","Invoice_Number":"2060645","Invoice_Applied":"245.00","Balance":"245.00","Invoice_Applied_BCY":"4614.13","Invoice_Amount":"245.00","Invoice_Amount_BCY":"4815.97","Invoice_Exch_Rate":"19.657000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34368","payment_id":"2340388000074993561","P_Date":"03-Jul-25","exchange_rate":"1.000000","amount":"11747.95","amount_bcy":"11747.95","reference_number":"S001JUL25","currency_code":"MXN","CustomerID_B":"2340388000059783043","Nombre_Cliente":"20793 HIGH PERFORMANCE RECOVERY SA DE CV","InvoicePayment_ID":"2340388000074993565","Invoice_Number":"2061866","Invoice_Applied":"11747.95","Balance":"11747.95","Invoice_Applied_BCY":"11747.95","Invoice_Amount":"11747.95","Invoice_Amount_BCY":"11747.95","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34367","payment_id":"2340388000074993443","P_Date":"03-Jul-25","exchange_rate":"1.000000","amount":"84172.58","amount_bcy":"84172.58","reference_number":"B004JUL25","currency_code":"MXN","CustomerID_B":"2340388000001141628","Nombre_Cliente":"05743 TRUPER, S.A. DE C.V.","InvoicePayment_ID":"2340388000074993453","Invoice_Number":"2062184","Invoice_Applied":"40600.00","Balance":"40600.00","Invoice_Applied_BCY":"40600.00","Invoice_Amount":"40600.00","Invoice_Amount_BCY":"40600.00","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34388","payment_id":"2340388000075128785","P_Date":"07-Jul-25","exchange_rate":"18.632700","amount":"940.83","amount_bcy":"17530.20","reference_number":"IN049JUL25","currency_code":"USD","CustomerID_B":"2340388000071078341","Nombre_Cliente":"21203 RAISE'D RIGHT DRILLING SOLUTIONS LTD.","InvoicePayment_ID":"2340388000075128789","Invoice_Number":"2062232","Invoice_Applied":"940.83","Balance":"940.83","Invoice_Applied_BCY":"17530.20","Invoice_Amount":"940.83","Invoice_Amount_BCY":"17999.68","Invoice_Exch_Rate":"19.131700","Tipo":"Pago","Batch":"71"}, {"payment_number":"34385","payment_id":"2340388000075124334","P_Date":"07-Jul-25","exchange_rate":"18.632700","amount":"2756.40","amount_bcy":"51359.17","reference_number":"IN042JUL25","currency_code":"USD","CustomerID_B":"2340388000005427140","Nombre_Cliente":"05150 WOLF, GREENFIELD & SACKS, P.C.","InvoicePayment_ID":"2340388000075124338","Invoice_Number":"2060949","Invoice_Applied":"2418.90","Balance":"2418.90","Invoice_Applied_BCY":"45070.64","Invoice_Amount":"2418.90","Invoice_Amount_BCY":"47600.32","Invoice_Exch_Rate":"19.678500","Tipo":"Pago","Batch":"71"}, {"payment_number":"34432","payment_id":"2340388000075234960","P_Date":"04-Jul-25","exchange_rate":"1.000000","amount":"3479.91","amount_bcy":"3479.91","reference_number":"BM024JUL25","currency_code":"MXN","CustomerID_B":"2340388000047281114","Nombre_Cliente":"20070 PRODUCTOS AJOLOTIUS S.A. DE C.V.","InvoicePayment_ID":"2340388000075234964","Invoice_Number":"2062665","Invoice_Applied":"3479.91","Balance":"3479.91","Invoice_Applied_BCY":"3479.91","Invoice_Amount":"3479.91","Invoice_Amount_BCY":"3479.91","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34406","payment_id":"2340388000075232307","P_Date":"08-Jul-25","exchange_rate":"18.669800","amount":"1775.00","amount_bcy":"33138.90","reference_number":"IN071JUL25","currency_code":"USD","CustomerID_B":"2340388000005966234","Nombre_Cliente":"11541 NOVAGRAAF","InvoicePayment_ID":"2340388000075232311","Invoice_Number":"2058639","Invoice_Applied":"1775.00","Balance":"1775.00","Invoice_Applied_BCY":"33138.90","Invoice_Amount":"1775.00","Invoice_Amount_BCY":"35824.47","Invoice_Exch_Rate":"20.182800","Tipo":"Pago","Batch":"71"}, {"payment_number":"34416","payment_id":"2340388000075207663","P_Date":"08-Jul-25","exchange_rate":"18.669800","amount":"1849.86","amount_bcy":"34536.52","reference_number":"IN058JUL25","currency_code":"USD","CustomerID_B":"2340388000004105713","Nombre_Cliente":"03380 BUCHANAN INGERSOLL & ROONEY, PC (VIRGINIA)","InvoicePayment_ID":"2340388000075207671","Invoice_Number":"2061119","Invoice_Applied":"646.28","Balance":"646.28","Invoice_Applied_BCY":"12065.92","Invoice_Amount":"646.28","Invoice_Amount_BCY":"12596.77","Invoice_Exch_Rate":"19.491200","Tipo":"Pago","Batch":"71"}, {"payment_number":"34443","payment_id":"2340388000075236449","P_Date":"07-Jul-25","exchange_rate":"1.000000","amount":"162327.62","amount_bcy":"162327.62","reference_number":"BV016JUL25","currency_code":"MXN","CustomerID_B":"2340388000028689246","Nombre_Cliente":"18804 PLASTICOS BANDREX S.A. DE C.V.","InvoicePayment_ID":"2340388000075236453","Invoice_Number":"2027970","Invoice_Applied":"162327.62","Balance":"162327.62","Invoice_Applied_BCY":"162327.62","Invoice_Amount":"262327.62","Invoice_Amount_BCY":"262327.62","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34438","payment_id":"2340388000075236145","P_Date":"07-Jul-25","exchange_rate":"1.000000","amount":"2088.00","amount_bcy":"2088.00","reference_number":"BM028JUL25","currency_code":"MXN","CustomerID_B":"2340388000048587277","Nombre_Cliente":"20154 ECOSISTEMA DE CIUDAD LERDO, S.A. DE C.V.","InvoicePayment_ID":"2340388000075236149","Invoice_Number":"2062115","Invoice_Applied":"2088.00","Balance":"2088.00","Invoice_Applied_BCY":"2088.00","Invoice_Amount":"2088.00","Invoice_Amount_BCY":"2088.00","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34460","payment_id":"2340388000075374071","P_Date":"09-Jul-25","exchange_rate":"18.714000","amount":"14542.39","amount_bcy":"272146.29","reference_number":"IN093JUL25","currency_code":"USD","CustomerID_B":"2340388000001102099","Nombre_Cliente":"00872 PARAMOUNT GLOBAL","InvoicePayment_ID":"2340388000075374160","Invoice_Number":"2063506","Invoice_Applied":"859.80","Balance":"859.80","Invoice_Applied_BCY":"16090.30","Invoice_Amount":"859.80","Invoice_Amount_BCY":"16020.40","Invoice_Exch_Rate":"18.632700","Tipo":"Pago","Batch":"71"}, {"payment_number":"34460","payment_id":"2340388000075374071","P_Date":"09-Jul-25","exchange_rate":"18.714000","amount":"14542.39","amount_bcy":"272146.29","reference_number":"IN093JUL25","currency_code":"USD","CustomerID_B":"2340388000001102099","Nombre_Cliente":"00872 PARAMOUNT GLOBAL","InvoicePayment_ID":"2340388000075374175","Invoice_Number":"2063514","Invoice_Applied":"859.80","Balance":"859.80","Invoice_Applied_BCY":"16090.30","Invoice_Amount":"859.80","Invoice_Amount_BCY":"16020.40","Invoice_Exch_Rate":"18.632700","Tipo":"Pago","Batch":"71"}, {"payment_number":"34470","payment_id":"2340388000075342527","P_Date":"09-Jul-25","exchange_rate":"18.714000","amount":"832.02","amount_bcy":"15570.42","reference_number":"IN083JUL25","currency_code":"USD","CustomerID_B":"2340388000042508490","Nombre_Cliente":"19772 SMART & BIGGAR LP (TORONTO)","InvoicePayment_ID":"2340388000075342541","Invoice_Number":"2055420","Invoice_Applied":"484.78","Balance":"484.78","Invoice_Applied_BCY":"9072.17","Invoice_Amount":"484.78","Invoice_Amount_BCY":"9925.48","Invoice_Exch_Rate":"20.474200","Tipo":"Pago","Batch":"71"}, {"payment_number":"34460","payment_id":"2340388000075374071","P_Date":"09-Jul-25","exchange_rate":"18.714000","amount":"14542.39","amount_bcy":"272146.29","reference_number":"IN093JUL25","currency_code":"USD","CustomerID_B":"2340388000001102099","Nombre_Cliente":"00872 PARAMOUNT GLOBAL","InvoicePayment_ID":"2340388000075374142","Invoice_Number":"2063505","Invoice_Applied":"920.29","Balance":"920.29","Invoice_Applied_BCY":"17222.31","Invoice_Amount":"920.29","Invoice_Amount_BCY":"17147.49","Invoice_Exch_Rate":"18.632700","Tipo":"Pago","Batch":"71"}, {"payment_number":"34460","payment_id":"2340388000075374071","P_Date":"09-Jul-25","exchange_rate":"18.714000","amount":"14542.39","amount_bcy":"272146.29","reference_number":"IN093JUL25","currency_code":"USD","CustomerID_B":"2340388000001102099","Nombre_Cliente":"00872 PARAMOUNT GLOBAL","InvoicePayment_ID":"2340388000075374151","Invoice_Number":"2063508","Invoice_Applied":"859.80","Balance":"859.80","Invoice_Applied_BCY":"16090.30","Invoice_Amount":"859.80","Invoice_Amount_BCY":"16020.40","Invoice_Exch_Rate":"18.632700","Tipo":"Pago","Batch":"71"}, {"payment_number":"34503","payment_id":"2340388000075467438","P_Date":"01-Jul-25","exchange_rate":"1.000000","amount":"6994.82","amount_bcy":"6994.82","reference_number":"BM001JUL25","currency_code":"MXN","CustomerID_B":"2340388000001225296","Nombre_Cliente":"14794 BRITISH AMERICAN TOBACCO SERVICIOS, S.A. DE C.V.","InvoicePayment_ID":"2340388000075467445","Invoice_Number":"2061177","Invoice_Applied":"6994.82","Balance":"6994.82","Invoice_Applied_BCY":"6994.82","Invoice_Amount":"6994.82","Invoice_Amount_BCY":"6994.82","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34498","payment_id":"2340388000075464668","P_Date":"10-Jul-25","exchange_rate":"1.000000","amount":"27657.04","amount_bcy":"27657.04","reference_number":"BM045JUL25","currency_code":"MXN","CustomerID_B":"2340388000027836297","Nombre_Cliente":"18723 UVI TECH, S.A.P.I. DE C.V.","InvoicePayment_ID":"2340388000075464675","Invoice_Number":"2059374","Invoice_Applied":"27657.04","Balance":"27657.04","Invoice_Applied_BCY":"27657.04","Invoice_Amount":"82971.08","Invoice_Amount_BCY":"82971.08","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34504","payment_id":"2340388000075467509","P_Date":"03-Jul-25","exchange_rate":"1.000000","amount":"1740.00","amount_bcy":"1740.00","reference_number":"BM018JUL25","currency_code":"MXN","CustomerID_B":"2340388000015511270","Nombre_Cliente":"17768 DESARROLLADORA COLLECTION VIP S.A. DE C.V.","InvoicePayment_ID":"2340388000075467516","Invoice_Number":"2062256","Invoice_Applied":"1740.00","Balance":"1740.00","Invoice_Applied_BCY":"1740.00","Invoice_Amount":"1740.00","Invoice_Amount_BCY":"1740.00","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34523","payment_id":"2340388000075477474","P_Date":"10-Jul-25","exchange_rate":"18.573300","amount":"819.92","amount_bcy":"15228.62","reference_number":"IN108JUL25","currency_code":"USD","CustomerID_B":"2340388000042018007","Nombre_Cliente":"19733 CDS COHN, DE VRIES, STADLER & CO","InvoicePayment_ID":"2340388000075477495","Invoice_Number":"2059037","Invoice_Applied":"396.28","Balance":"396.28","Invoice_Applied_BCY":"7360.23","Invoice_Amount":"396.28","Invoice_Amount_BCY":"7970.10","Invoice_Exch_Rate":"20.112300","Tipo":"Pago","Batch":"71"}, {"payment_number":"34521","payment_id":"2340388000075476996","P_Date":"10-Jul-25","exchange_rate":"18.573300","amount":"8607.29","amount_bcy":"159865.78","reference_number":"IN106JUL25","currency_code":"USD","CustomerID_B":"2340388000001190745","Nombre_Cliente":"11326 JFE TECHNO-RESERCH CORPORATION (JFE-TEC)","InvoicePayment_ID":"2340388000075477035","Invoice_Number":"2061708","Invoice_Applied":"426.00","Balance":"426.00","Invoice_Applied_BCY":"7912.23","Invoice_Amount":"426.00","Invoice_Amount_BCY":"8230.23","Invoice_Exch_Rate":"19.319800","Tipo":"Pago","Batch":"71"}, {"payment_number":"34549","payment_id":"2340388000075519480","P_Date":"11-Jul-25","exchange_rate":"18.626700","amount":"1900.00","amount_bcy":"35390.73","reference_number":"IN123JUL25","currency_code":"USD","CustomerID_B":"2340388000072011276","Nombre_Cliente":"21241 CAMPOSOL S.A.","InvoicePayment_ID":"2340388000075519487","Invoice_Number":"2061698","Invoice_Applied":"1900.00","Balance":"1900.00","Invoice_Applied_BCY":"35390.73","Invoice_Amount":"1900.00","Invoice_Amount_BCY":"36707.62","Invoice_Exch_Rate":"19.319800","Tipo":"Pago","Batch":"71"}, {"payment_number":"34546","payment_id":"2340388000075547810","P_Date":"11-Jul-25","exchange_rate":"18.626700","amount":"200.00","amount_bcy":"3725.34","reference_number":"IN121JUL25","currency_code":"USD","CustomerID_B":"2340388000001185753","Nombre_Cliente":"10786 PAUL D. SUPNIK","InvoicePayment_ID":"2340388000075547817","Invoice_Number":"2063553","Invoice_Applied":"200.00","Balance":"200.00","Invoice_Applied_BCY":"3725.34","Invoice_Amount":"200.00","Invoice_Amount_BCY":"3726.54","Invoice_Exch_Rate":"18.632700","Tipo":"Pago","Batch":"71"}, {"payment_number":"34527","payment_id":"2340388000075505432","P_Date":"11-Jul-25","exchange_rate":"18.626700","amount":"4048.96","amount_bcy":"75418.76","reference_number":"IN132JUL25","currency_code":"USD","CustomerID_B":"2340388000001189757","Nombre_Cliente":"11209 REED SMITH LLP","InvoicePayment_ID":"2340388000075505465","Invoice_Number":"2062064","Invoice_Applied":"498.28","Balance":"498.28","Invoice_Applied_BCY":"9281.31","Invoice_Amount":"498.28","Invoice_Amount_BCY":"9563.59","Invoice_Exch_Rate":"19.193200","Tipo":"Pago","Batch":"71"}, {"payment_number":"34533","payment_id":"2340388000075544647","P_Date":"11-Jul-25","exchange_rate":"18.626700","amount":"1450.00","amount_bcy":"27008.72","reference_number":"IN122JUL25","currency_code":"USD","CustomerID_B":"2340388000072127217","Nombre_Cliente":"21253 FEDERATION INTERNATIONALE DE FOOTBALL ASSOCIATION (FIFA)","InvoicePayment_ID":"2340388000075544654","Invoice_Number":"2062275","Invoice_Applied":"1450.00","Balance":"1450.00","Invoice_Applied_BCY":"27008.72","Invoice_Amount":"1450.00","Invoice_Amount_BCY":"27740.97","Invoice_Exch_Rate":"19.131700","Tipo":"Pago","Batch":"71"}, {"payment_number":"34535","payment_id":"2340388000075544910","P_Date":"11-Jul-25","exchange_rate":"18.626700","amount":"1174.75","amount_bcy":"21881.72","reference_number":"IN125JUL25","currency_code":"USD","CustomerID_B":"2340388000053927291","Nombre_Cliente":"20501 HAYGOR INSTRUMENT & COMPANY, INC.","InvoicePayment_ID":"2340388000075544917","Invoice_Number":"2063040","Invoice_Applied":"1174.75","Balance":"1174.75","Invoice_Applied_BCY":"21881.72","Invoice_Amount":"1174.75","Invoice_Amount_BCY":"22491.53","Invoice_Exch_Rate":"19.145800","Tipo":"Pago","Batch":"71"}, {"payment_number":"34566","payment_id":"2340388000075589689","P_Date":"14-Jul-25","exchange_rate":"18.659500","amount":"5079.31","amount_bcy":"94777.38","reference_number":"IN134JUL25","currency_code":"USD","CustomerID_B":"2340388000028977931","Nombre_Cliente":"18833 DANIEL GLOBAL IP LP","InvoicePayment_ID":"2340388000075589727","Invoice_Number":"2061086","Invoice_Applied":"1500.00","Balance":"1500.00","Invoice_Applied_BCY":"27989.25","Invoice_Amount":"1500.00","Invoice_Amount_BCY":"29236.80","Invoice_Exch_Rate":"19.491200","Tipo":"Pago","Batch":"71"}, {"payment_number":"34584","payment_id":"2340388000075646751","P_Date":"15-Jul-25","exchange_rate":"1.000000","amount":"117792.42","amount_bcy":"117792.42","reference_number":"BV031JUL25","currency_code":"MXN","CustomerID_B":"2340388000016872004","Nombre_Cliente":"17932 LABORATORIOS LE ROY S.A. DE C.V.","InvoicePayment_ID":"2340388000075646762","Invoice_Number":"2059998","Invoice_Applied":"99133.82","Balance":"99133.82","Invoice_Applied_BCY":"99133.82","Invoice_Amount":"99133.82","Invoice_Amount_BCY":"99133.82","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34585","payment_id":"2340388000075646871","P_Date":"15-Jul-25","exchange_rate":"1.000000","amount":"8352.00","amount_bcy":"8352.00","reference_number":"BV034JUL25","currency_code":"MXN","CustomerID_B":"2340388000061257153","Nombre_Cliente":"20844 CAFES Y DERIVADOS DE CIUDAD JUAREZ, S.A. DE C.V.","InvoicePayment_ID":"2340388000075646878","Invoice_Number":"2064082","Invoice_Applied":"8352.00","Balance":"8352.00","Invoice_Applied_BCY":"8352.00","Invoice_Amount":"8352.00","Invoice_Amount_BCY":"8352.00","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34607","payment_id":"2340388000075740350","P_Date":"16-Jul-25","exchange_rate":"18.839700","amount":"34406.38","amount_bcy":"648205.88","reference_number":"IN169JUL25","currency_code":"USD","CustomerID_B":"2340388000062412484","Nombre_Cliente":"20895 NOKIA TECHNOLOGIES OY","InvoicePayment_ID":"2340388000075740491","Invoice_Number":"2061502","Invoice_Applied":"1577.30","Balance":"1577.30","Invoice_Applied_BCY":"29715.86","Invoice_Amount":"1577.30","Invoice_Amount_BCY":"30780.54","Invoice_Exch_Rate":"19.514700","Tipo":"Pago","Batch":"71"}, {"payment_number":"34607","payment_id":"2340388000075740350","P_Date":"16-Jul-25","exchange_rate":"18.839700","amount":"34406.38","amount_bcy":"648205.88","reference_number":"IN169JUL25","currency_code":"USD","CustomerID_B":"2340388000062412484","Nombre_Cliente":"20895 NOKIA TECHNOLOGIES OY","InvoicePayment_ID":"2340388000075740494","Invoice_Number":"2061513","Invoice_Applied":"1409.09","Balance":"1409.09","Invoice_Applied_BCY":"26546.83","Invoice_Amount":"1409.09","Invoice_Amount_BCY":"27497.97","Invoice_Exch_Rate":"19.514700","Tipo":"Pago","Batch":"71"}, {"payment_number":"34607","payment_id":"2340388000075740350","P_Date":"16-Jul-25","exchange_rate":"18.839700","amount":"34406.38","amount_bcy":"648205.88","reference_number":"IN169JUL25","currency_code":"USD","CustomerID_B":"2340388000062412484","Nombre_Cliente":"20895 NOKIA TECHNOLOGIES OY","InvoicePayment_ID":"2340388000075740467","Invoice_Number":"2061507","Invoice_Applied":"1618.61","Balance":"1618.61","Invoice_Applied_BCY":"30494.13","Invoice_Amount":"1618.61","Invoice_Amount_BCY":"31586.69","Invoice_Exch_Rate":"19.514700","Tipo":"Pago","Batch":"71"}, {"payment_number":"34607","payment_id":"2340388000075740350","P_Date":"16-Jul-25","exchange_rate":"18.839700","amount":"34406.38","amount_bcy":"648205.88","reference_number":"IN169JUL25","currency_code":"USD","CustomerID_B":"2340388000062412484","Nombre_Cliente":"20895 NOKIA TECHNOLOGIES OY","InvoicePayment_ID":"2340388000075740476","Invoice_Number":"2061500","Invoice_Applied":"650.68","Balance":"650.68","Invoice_Applied_BCY":"12258.62","Invoice_Amount":"650.68","Invoice_Amount_BCY":"12697.82","Invoice_Exch_Rate":"19.514700","Tipo":"Pago","Batch":"71"}, {"payment_number":"34651","payment_id":"2340388000075842184","P_Date":"17-Jul-25","exchange_rate":"18.717800","amount":"2499.07","amount_bcy":"46777.09","reference_number":"IN179JUL25","currency_code":"USD","CustomerID_B":"2340388000005970953","Nombre_Cliente":"06905 SOCIETÀ ITALIANA BREVETTI S.P.A.","InvoicePayment_ID":"2340388000075842212","Invoice_Number":"2061753","Invoice_Applied":"742.92","Balance":"742.92","Invoice_Applied_BCY":"13905.83","Invoice_Amount":"742.92","Invoice_Amount_BCY":"14319.63","Invoice_Exch_Rate":"19.274800","Tipo":"Pago","Batch":"71"}, {"payment_number":"34643","payment_id":"2340388000075817095","P_Date":"17-Jul-25","exchange_rate":"1.000000","amount":"78497.13","amount_bcy":"78497.13","reference_number":"BM072JUL25","currency_code":"MXN","CustomerID_B":"2340388000001171372","Nombre_Cliente":"09029 JEANADE, S.A. DE C.V.","InvoicePayment_ID":"2340388000075817131","Invoice_Number":"2061983","Invoice_Applied":"11273.97","Balance":"11273.97","Invoice_Applied_BCY":"11273.97","Invoice_Amount":"11273.97","Invoice_Amount_BCY":"11273.97","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34651","payment_id":"2340388000075842184","P_Date":"17-Jul-25","exchange_rate":"18.717800","amount":"2499.07","amount_bcy":"46777.09","reference_number":"IN179JUL25","currency_code":"USD","CustomerID_B":"2340388000005970953","Nombre_Cliente":"06905 SOCIETÀ ITALIANA BREVETTI S.P.A.","InvoicePayment_ID":"2340388000075842206","Invoice_Number":"2060098","Invoice_Applied":"371.46","Balance":"371.46","Invoice_Applied_BCY":"6952.91","Invoice_Amount":"371.46","Invoice_Amount_BCY":"7554.12","Invoice_Exch_Rate":"20.336300","Tipo":"Pago","Batch":"71"}, {"payment_number":"34634","payment_id":"2340388000075743840","P_Date":"17-Jul-25","exchange_rate":"1.000000","amount":"142945.98","amount_bcy":"142945.98","reference_number":"B014JUL25","currency_code":"MXN","CustomerID_B":"2340388000001187300","Nombre_Cliente":"10948 SIEGFRIED RHEIN S.A. DE C.V. (AR)","InvoicePayment_ID":"2340388000075743854","Invoice_Number":"2058388","Invoice_Applied":"62656.58","Balance":"62656.58","Invoice_Applied_BCY":"62656.58","Invoice_Amount":"62656.58","Invoice_Amount_BCY":"62656.58","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34697","payment_id":"2340388000075946509","P_Date":"18-Jul-25","exchange_rate":"1.000000","amount":"19459.49","amount_bcy":"19459.49","reference_number":"BM086JUL25","currency_code":"MXN","CustomerID_B":"2340388000001135007","Nombre_Cliente":"05064 ADVANCED METHODS CO. SRL CV","InvoicePayment_ID":"2340388000075946516","Invoice_Number":"2063800","Invoice_Applied":"19459.49","Balance":"19459.49","Invoice_Applied_BCY":"19459.49","Invoice_Amount":"19459.49","Invoice_Amount_BCY":"19459.49","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34719","payment_id":"2340388000075962516","P_Date":"22-Jul-25","exchange_rate":"18.645500","amount":"1850.88","amount_bcy":"34510.58","reference_number":"COM001JUL25","currency_code":"USD","CustomerID_B":"2340388000001155916","Nombre_Cliente":"07232 OLARTE MOURE & ASOCIADOS S.A.S.","InvoicePayment_ID":"2340388000075962595","Invoice_Number":"2035033","Invoice_Applied":"100.00","Balance":"100.00","Invoice_Applied_BCY":"1864.55","Invoice_Amount":"100.00","Invoice_Amount_BCY":"1791.32","Invoice_Exch_Rate":"17.913200","Tipo":"Pago","Batch":"71"}, {"payment_number":"34719","payment_id":"2340388000075962516","P_Date":"22-Jul-25","exchange_rate":"18.645500","amount":"1850.88","amount_bcy":"34510.58","reference_number":"COM001JUL25","currency_code":"USD","CustomerID_B":"2340388000001155916","Nombre_Cliente":"07232 OLARTE MOURE & ASOCIADOS S.A.S.","InvoicePayment_ID":"2340388000075962607","Invoice_Number":"2038697","Invoice_Applied":"146.59","Balance":"146.59","Invoice_Applied_BCY":"2733.24","Invoice_Amount":"715.86","Invoice_Amount_BCY":"12035.97","Invoice_Exch_Rate":"16.813300","Tipo":"Pago","Batch":"71"}, {"payment_number":"34722","payment_id":"2340388000075989544","P_Date":"21-Jul-25","exchange_rate":"1.000000","amount":"31127.50","amount_bcy":"31127.50","reference_number":"BV057JUL25","currency_code":"MXN","CustomerID_B":"2340388000001222735","Nombre_Cliente":"14557 MEXICO DELICIOSO SA DE CV","InvoicePayment_ID":"2340388000075989551","Invoice_Number":"2057262","Invoice_Applied":"31127.50","Balance":"31127.50","Invoice_Applied_BCY":"31127.50","Invoice_Amount":"81127.50","Invoice_Amount_BCY":"81127.50","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34752","payment_id":"2340388000076117249","P_Date":"22-Jul-25","exchange_rate":"18.645500","amount":"1100.00","amount_bcy":"20510.05","reference_number":"IN232JUL25","currency_code":"USD","CustomerID_B":"2340388000016575458","Nombre_Cliente":"17902 PROPIO, LLC","InvoicePayment_ID":"2340388000076117256","Invoice_Number":"2033679","Invoice_Applied":"1100.00","Balance":"1100.00","Invoice_Applied_BCY":"20510.05","Invoice_Amount":"1100.00","Invoice_Amount_BCY":"18788.77","Invoice_Exch_Rate":"17.080700","Tipo":"Pago","Batch":"71"}, {"payment_number":"34767","payment_id":"2340388000076067850","P_Date":"22-Jul-25","exchange_rate":"18.645500","amount":"4315.00","amount_bcy":"80455.33","reference_number":"IN238JUL25","currency_code":"USD","CustomerID_B":"2340388000003409842","Nombre_Cliente":"17204 PCG365, LLC","InvoicePayment_ID":"2340388000076067857","Invoice_Number":"2063660","Invoice_Applied":"4315.00","Balance":"4315.00","Invoice_Applied_BCY":"80455.33","Invoice_Amount":"4315.00","Invoice_Amount_BCY":"80400.10","Invoice_Exch_Rate":"18.632700","Tipo":"Pago","Batch":"71"}, {"payment_number":"34796","payment_id":"2340388000076251630","P_Date":"24-Jul-25","exchange_rate":"1.000000","amount":"6994.80","amount_bcy":"6994.80","reference_number":"BM108JUL25","currency_code":"MXN","CustomerID_B":"2340388000016516423","Nombre_Cliente":"17883 SANFER FARMA, S.A.P.I. DE C.V","InvoicePayment_ID":"2340388000076251637","Invoice_Number":"2062652","Invoice_Applied":"6994.80","Balance":"6994.80","Invoice_Applied_BCY":"6994.80","Invoice_Amount":"6994.80","Invoice_Amount_BCY":"6994.80","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34819","payment_id":"2340388000076255547","P_Date":"24-Jul-25","exchange_rate":"18.573500","amount":"7514.57","amount_bcy":"139571.87","reference_number":"IN252JUL25","currency_code":"USD","CustomerID_B":"2340388000001168369","Nombre_Cliente":"08677 CROCS, INC.","InvoicePayment_ID":"2340388000076255586","Invoice_Number":"2062791","Invoice_Applied":"1305.00","Balance":"1305.00","Invoice_Applied_BCY":"24238.42","Invoice_Amount":"1305.00","Invoice_Amount_BCY":"24675.33","Invoice_Exch_Rate":"18.908300","Tipo":"Pago","Batch":"71"}, {"payment_number":"34801","payment_id":"2340388000076256553","P_Date":"23-Jul-25","exchange_rate":"1.000000","amount":"7630.48","amount_bcy":"7630.48","reference_number":"BM099JUL25","currency_code":"MXN","CustomerID_B":"2340388000067207779","Nombre_Cliente":"21035 IMPORTADORA DE MERCADERÍA DE EXCELENCIA, S. A DE C.V","InvoicePayment_ID":"2340388000076256560","Invoice_Number":"2063066","Invoice_Applied":"7630.48","Balance":"7630.48","Invoice_Applied_BCY":"7630.48","Invoice_Amount":"7630.48","Invoice_Amount_BCY":"7630.48","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34819","payment_id":"2340388000076255547","P_Date":"24-Jul-25","exchange_rate":"18.573500","amount":"7514.57","amount_bcy":"139571.87","reference_number":"IN252JUL25","currency_code":"USD","CustomerID_B":"2340388000001168369","Nombre_Cliente":"08677 CROCS, INC.","InvoicePayment_ID":"2340388000076255610","Invoice_Number":"2062789","Invoice_Applied":"908.82","Balance":"908.82","Invoice_Applied_BCY":"16879.97","Invoice_Amount":"908.82","Invoice_Amount_BCY":"17184.24","Invoice_Exch_Rate":"18.908300","Tipo":"Pago","Batch":"71"}, {"payment_number":"34848","payment_id":"2340388000076300673","P_Date":"24-Jul-25","exchange_rate":"1.000000","amount":"17400.00","amount_bcy":"17400.00","reference_number":"BM102JUL25","currency_code":"MXN","CustomerID_B":"2340388000043796239","Nombre_Cliente":"19851 COMERCIALIZADORA MERC SA DE CV","InvoicePayment_ID":"2340388000076300680","Invoice_Number":"2061818","Invoice_Applied":"17400.00","Balance":"17400.00","Invoice_Applied_BCY":"17400.00","Invoice_Amount":"17400.00","Invoice_Amount_BCY":"17400.00","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34853","payment_id":"2340388000076274975","P_Date":"25-Jul-25","exchange_rate":"1.000000","amount":"356532.50","amount_bcy":"356532.50","reference_number":"BV070JUL25","currency_code":"MXN","CustomerID_B":"2340388000033330497","Nombre_Cliente":"19128 INTERSURGICAL S.A. DE C.V.","InvoicePayment_ID":"2340388000076274982","Invoice_Number":"2062778","Invoice_Applied":"356532.50","Balance":"356532.50","Invoice_Applied_BCY":"356532.50","Invoice_Amount":"713065.27","Invoice_Amount_BCY":"713065.27","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34833","payment_id":"2340388000076296805","P_Date":"22-Jul-25","exchange_rate":"1.000000","amount":"2088.00","amount_bcy":"2088.00","reference_number":"BV059JUL25","currency_code":"MXN","CustomerID_B":"2340388000001249204","Nombre_Cliente":"17029 MARCAS EXTRAORDINARIAS SA DE CV","InvoicePayment_ID":"2340388000076296812","Invoice_Number":"2061174","Invoice_Applied":"2088.00","Balance":"2088.00","Invoice_Applied_BCY":"2088.00","Invoice_Amount":"2088.00","Invoice_Amount_BCY":"2088.00","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34880","payment_id":"2340388000076379309","P_Date":"28-Jul-25","exchange_rate":"18.557000","amount":"1302.50","amount_bcy":"24170.49","reference_number":"IN295JUL25","currency_code":"USD","CustomerID_B":"2340388000001096282","Nombre_Cliente":"00149 APPLE INC.","InvoicePayment_ID":"2340388000076379323","Invoice_Number":"2061301","Invoice_Applied":"730.00","Balance":"730.00","Invoice_Applied_BCY":"13546.61","Invoice_Amount":"730.00","Invoice_Amount_BCY":"14228.58","Invoice_Exch_Rate":"19.491200","Tipo":"Pago","Batch":"71"}, {"payment_number":"34880","payment_id":"2340388000076379309","P_Date":"28-Jul-25","exchange_rate":"18.557000","amount":"1302.50","amount_bcy":"24170.49","reference_number":"IN295JUL25","currency_code":"USD","CustomerID_B":"2340388000001096282","Nombre_Cliente":"00149 APPLE INC.","InvoicePayment_ID":"2340388000076379320","Invoice_Number":"2061263","Invoice_Applied":"572.50","Balance":"572.50","Invoice_Applied_BCY":"10623.88","Invoice_Amount":"572.50","Invoice_Amount_BCY":"11158.71","Invoice_Exch_Rate":"19.491200","Tipo":"Pago","Batch":"71"}, {"payment_number":"34899","payment_id":"2340388000076383666","P_Date":"25-Jul-25","exchange_rate":"1.000000","amount":"17773.57","amount_bcy":"17773.57","reference_number":"BV069JUL25","currency_code":"MXN","CustomerID_B":"2340388000001235012","Nombre_Cliente":"15717 GRUPO RUZ, S.A. DE C.V.","InvoicePayment_ID":"2340388000076383681","Invoice_Number":"2063392","Invoice_Applied":"6173.57","Balance":"6173.57","Invoice_Applied_BCY":"6173.57","Invoice_Amount":"6173.57","Invoice_Amount_BCY":"6173.57","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34913","payment_id":"2340388000076446402","P_Date":"29-Jul-25","exchange_rate":"18.726700","amount":"2500.00","amount_bcy":"46816.75","reference_number":"IN302JUL25","currency_code":"USD","CustomerID_B":"2340388000051247319","Nombre_Cliente":"20326 FIRST PRODUCE SERVICES, LLC","InvoicePayment_ID":"2340388000076446413","Invoice_Number":"2059960","Invoice_Applied":"1200.00","Balance":"1200.00","Invoice_Applied_BCY":"22472.04","Invoice_Amount":"1200.00","Invoice_Amount_BCY":"24403.56","Invoice_Exch_Rate":"20.336300","Tipo":"Pago","Batch":"71"}, {"payment_number":"34925","payment_id":"2340388000076449139","P_Date":"29-Jul-25","exchange_rate":"18.726700","amount":"5327.87","amount_bcy":"99773.42","reference_number":"IN315JUL25","currency_code":"USD","CustomerID_B":"2340388000005978139","Nombre_Cliente":"09503 S.ORLANDO ASESORES LEGALES Y EN PROP. INDUSTRIAL S.L","InvoicePayment_ID":"2340388000076449146","Invoice_Number":"2061701","Invoice_Applied":"5327.87","Balance":"5327.87","Invoice_Applied_BCY":"99773.42","Invoice_Amount":"5327.87","Invoice_Amount_BCY":"102933.38","Invoice_Exch_Rate":"19.319800","Tipo":"Pago","Batch":"71"}, {"payment_number":"34927","payment_id":"2340388000076431304","P_Date":"29-Jul-25","exchange_rate":"1.000000","amount":"35792.39","amount_bcy":"35792.39","reference_number":"BM121JUL25","currency_code":"MXN","CustomerID_B":"2340388000032660015","Nombre_Cliente":"19071 BALANCE CAPITAL, S.A.P.I. DE C.V.","InvoicePayment_ID":"2340388000076431311","Invoice_Number":"2062910","Invoice_Applied":"35792.39","Balance":"35792.39","Invoice_Applied_BCY":"35792.39","Invoice_Amount":"71584.78","Invoice_Amount_BCY":"71584.78","Invoice_Exch_Rate":"1.000000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34928","payment_id":"2340388000076431372","P_Date":"25-Jul-25","exchange_rate":"18.553800","amount":"715.86","amount_bcy":"13281.92","reference_number":"IN299JUL25","currency_code":"USD","CustomerID_B":"2340388000001119317","Nombre_Cliente":"03366 MORGAN, LEWIS & BOCKIUS LLP (WASHINGTON)","InvoicePayment_ID":"2340388000076431379","Invoice_Number":"2063261","Invoice_Applied":"715.86","Balance":"715.86","Invoice_Applied_BCY":"13281.92","Invoice_Amount":"715.86","Invoice_Amount_BCY":"13433.11","Invoice_Exch_Rate":"18.765000","Tipo":"Pago","Batch":"71"}, {"payment_number":"34918","payment_id":"2340388000076446848","P_Date":"29-Jul-25","exchange_rate":"18.726700","amount":"640.00","amount_bcy":"11985.09","reference_number":"IN314JUL25","currency_code":"USD","CustomerID_B":"2340388000001243781","Nombre_Cliente":"16527 WEIR SLURRY GROUP INC.","InvoicePayment_ID":"2340388000076446855","Invoice_Number":"2057473","Invoice_Applied":"640.00","Balance":"640.00","Invoice_Applied_BCY":"11985.09","Invoice_Amount":"640.00","Invoice_Amount_BCY":"12997.25","Invoice_Exch_Rate":"20.308200","Tipo":"Pago","Batch":"71"}, {"payment_number":"34919","payment_id":"2340388000076409921","P_Date":"29-Jul-25","exchange_r "400", "message" => "ERROR - [wsBalanzaComp_v14] Parametros incompletos para el Servicio Web, faltan el Anio de vigencia."); $Resultado = json_encode($j_array); // echo $Resultado; return; } if($mesCata == "") { $j_array = array('code' => "400", "message" => "ERROR - [wsBalanzaComp_v14] Parametros incompletos para el Servicio Web, faltan el Mes de vigencia."); $Resultado = json_encode($j_array); // echo $Resultado; return; } if($tipoEnvio == "") { $j_array = array('code' => "400", "message" => "ERROR - [wsBalanzaComp_v14] Parametros incompletos para el Servicio Web, faltan el Tipo de Envio."); $Resultado = json_encode($j_array); // echo $Resultado; return; } if($csvFileName == "") { $j_array = array('code' => "400", "message" => "ERROR - [wsBalanzaComp_v14] Parametros incompletos para el Servicio Web, faltan el Nombre del Archivo CSV a procesar."); $Resultado = json_encode($j_array); // echo $Resultado; return $Resultado; } if($organi_id_ZB == "") { $j_array = array('code' => "306", "message" => "ERROR - [wsBalanzaComp_v14] Parametros incompletos para el Servicio Web, faltan el Organization ID de Books"); $Resultado = json_encode($j_array); // echo $Resultado; return $Resultado; } $dirBase = realpath("../"); ### DEFINICIÓN DE CONSTANTES ################################################### $SendaCVS = "archs_csv/"; $SendaXML = "archs_xml/"; $SendaZIP = "archs_zip/"; #---------------------------------------------------------------- # Creamos la conexión a la base de datos #---------------------------------------------------------------- $conn = mysqli_connect("127.0.0.1", "aptuslegal", "#Aptus2021#", "vendorbills"); if (!$conn) { echo "Error: No se pudo conectar a MySQL." . PHP_EOL; echo "errno de depuración: " . mysqli_connect_errno() . PHP_EOL; exit; } #---------------------------------------------------------------- # Traemos los valores de conexión utilizando el organizationId #---------------------------------------------------------------- $sql = 'SELECT * FROM conndetails WHERE organization_id = ' . $organi_id_ZB; if($result = $conn->query($sql)) { $row = $result->fetch_assoc(); } else exit('No se ejecuto la consulta'); #---------------------------------------------------------------- # Cerramos la conexión #---------------------------------------------------------------- mysqli_close($conn); #---------------------------------------------------------------- # Variables para Zoho Workdrive #---------------------------------------------------------------- $wdrv_parent_id = $row['zworkdrvbalcom_id']; $woa_RefreshToken = $row['zworkdrv_rtoken']; $woa_ClientId = $row['zworkdrvclient_id']; $woa_ClientSecret = $row['zworkdrvclient_secret']; $woa_RedirectUri = $row['RedirectUri']; $woa_AuthUrl = 'https://accounts.zoho.com/oauth/v2/token'; $woa_GrantType = "refresh_token"; #---------------------------------------------------------------- # RFC de la Organización #---------------------------------------------------------------- $regFeCa = $row['rfc']; #== Creación de la variable de tipo DOM, aquí se conforma el XML a timbrar posteriormente. $xml = new DOMdocument('1.0', 'UTF-8'); $root = $xml->createElement("BCE:Balanza"); $root = $xml->appendChild($root); #== Apertura, lectura y conversión de CSV a JSON. $fileName = $SendaCVS.$csvFileName; $csvToJson = csvToJson($fileName); $arrayJson = json_decode( $csvToJson, true ); // Invertimos el orden del arreglo para los calculos. $jsonArray = array_reverse($arrayJson, true); #== Se procesan las cuentas y se obtienen los totales por subcuentas ====== $salIniNivTres = 0.00; $debitoNivTres = 0.00; $creditNivTres = 0.00; $SalFinNivTres = 0.00; $counNivTres = 0; $salIniNivTrex = 0.00; $debitoNivTrex = 0.00; $creditNivTrex = 0.00; $SalFinNivTrex = 0.00; $salIniNivDos = 0.00; $debitoNivDos = 0.00; $creditNivDos = 0.00; $SalFinNivDos = 0.00; $counNivDos = 0; $salIniNivUno = 0.00; $debitoNivUno = 0.00; $creditNivUno = 0.00; $SalFinNivUno = 0.00; $counNivUno = 0; $totalCargos = 0; $totalAbonos = 0; $arrayDetalle = Array(); $Account1count = 0; foreach($arrayJson as $item => $value) { $codCue = substr($value['account_code'],0,3); if(is_numeric($codCue)) { if($value['account.CF.Codigo del SAT'] != "") { $clave = array_search($value['account_code'], array_column($arrayDetalle, 'NumCta')); if ($clave == NULL) { $arrayDetalle[] = array( "ClaveSat"=>$value['account.CF.Codigo del SAT'], "NumCta"=>$value['account_code'], "SaldoIni"=>0.00, "Debe"=>0.00, "Haber"=>0.00, "SaldoFin"=>0.00 ); } $Account1count +=1; } } } foreach($jsonArray as $item => $value) { $codCue = substr($value['account_code'],0,3); $cuePas = ""; $cueNivTre = ""; if(is_numeric($codCue)) { $AccCod = $value['account_code']; //echo "Código de cuenta: " . $AccCod ."
"; if(substr($AccCod, 4,2) != "00" && substr($AccCod, -3) != "000") { //echo "Cuenta: ".$AccCod." ".$value['opening_balance']." ".$value['debit_total']." ".$value['credit_total']." ".$value['closing_balance']."
".PHP_EOL; //Nivel tres, se acumula $totalCargos = $totalCargos + floatval($value['debit_total']); $totalAbonos = $totalAbonos + floatval($value['credit_total']); $salIniNivTres = $salIniNivTres + floatval($value['opening_balance']); $debitoNivTres = $debitoNivTres + floatval($value['debit_total']); $creditNivTres = $creditNivTres + floatval($value['credit_total']); $SalFinNivTres = $SalFinNivTres + floatval($value['closing_balance']); $counNivTres = $counNivTres + 1; $salIniNivTrex = $salIniNivTrex + floatval($value['opening_balance']); $debitoNivTrex = $debitoNivTrex + floatval($value['debit_total']); $creditNivTrex = $creditNivTrex + floatval($value['credit_total']); $SalFinNivTrex = $SalFinNivTrex + floatval($value['closing_balance']); // Actualizamos el nivel 3 $sValBus = $AccCod; $clave = array_search($sValBus, array_column($arrayDetalle, 'NumCta')); if ($clave !== NULL) { //echo "Nivel Tres: ".$sValBus . " ==> ".$value['account.CF.Codigo del SAT']. " ID: ".$clave; //echo "
"; $arrayDetalle[$clave]['SaldoIni'] = $arrayDetalle[$clave]['SaldoIni'] + number_format($salIniNivTrex,2, '.', ''); $arrayDetalle[$clave]['Debe'] = $arrayDetalle[$clave]['Debe'] + number_format($debitoNivTrex,2, '.', ''); $arrayDetalle[$clave]['Haber'] = $arrayDetalle[$clave]['Haber'] + number_format($creditNivTrex,2, '.', ''); $arrayDetalle[$clave]['SaldoFin'] = $arrayDetalle[$clave]['SaldoFin'] + number_format($SalFinNivTrex,2, '.', ''); // Inicializamos Nivel Tres $salIniNivTrex = 0.00; $debitoNivTrex = 0.00; $creditNivTrex = 0.00; $SalFinNivTrex = 0.00; } } if(substr($AccCod, 4,2) != "00" && substr($AccCod, -3) == "000") { // Nivel Dos, se acumula if($counNivTres > 0) { $salIniNivDos = $salIniNivDos + $salIniNivTres; $debitoNivDos = $debitoNivDos + $debitoNivTres; $creditNivDos = $creditNivDos + $creditNivTres; $SalFinNivDos = $SalFinNivDos + $SalFinNivTres; } else { $salIniNivDos = $salIniNivDos + floatval($value['opening_balance']); $debitoNivDos = $debitoNivDos + floatval($value['debit_total']); $creditNivDos = $creditNivDos + floatval($value['credit_total']); $SalFinNivDos = $SalFinNivDos + floatval($value['closing_balance']); $cuePas = substr($AccCod, 0,6); } $counNivDos = $counNivDos + 1; // Actualizamos el Nivel Dos $jsonArray[$item]['opening_balance'] = number_format($salIniNivDos,2, '.', ''); $jsonArray[$item]['debit_total'] = number_format($debitoNivDos,2, '.', ''); $jsonArray[$item]['credit_total'] = number_format($creditNivDos,2, '.', ''); $jsonArray[$item]['closing_balance'] = number_format($SalFinNivDos,2, '.', ''); // Actualizamos el nivel 2 $sValBus = $AccCod; $clave = array_search($sValBus, array_column($arrayDetalle, 'NumCta')); //echo "Nivel Dos: ".$sValBus . " ==> ".$value['account.CF.Codigo del SAT']. " ID: ".$clave; //echo "
"; if ($clave !== NULL) { $arrayDetalle[$clave]['SaldoIni'] = $arrayDetalle[$clave]['SaldoIni'] + number_format($salIniNivDos,2, '.', ''); $arrayDetalle[$clave]['Debe'] = $arrayDetalle[$clave]['Debe'] + number_format($debitoNivDos,2, '.', ''); $arrayDetalle[$clave]['Haber'] = $arrayDetalle[$clave]['Haber'] + number_format($creditNivDos,2, '.', ''); $arrayDetalle[$clave]['SaldoFin'] = $arrayDetalle[$clave]['SaldoFin'] + number_format($SalFinNivDos,2, '.', ''); } // Nivel Uno, se acumula $salIniNivUno = $salIniNivUno + $salIniNivDos; $debitoNivUno = $debitoNivUno + $debitoNivDos; $creditNivUno = $creditNivUno + $creditNivDos; $SalFinNivUno = $SalFinNivUno + $SalFinNivDos; $counNivUno = $counNivUno + 1; // Inicializamos Nivel Dos $salIniNivDos = 0.00; $debitoNivDos = 0.00; $creditNivDos = 0.00; $SalFinNivDos = 0.00; $counNivDos = 0; // Inicializamos Nivel Tres $salIniNivTres = 0.00; $debitoNivTres = 0.00; $creditNivTres = 0.00; $SalFinNivTres = 0.00; $counNivTres = 0; } if(substr($AccCod, 4,2) == "00" && substr($AccCod, -3) == "000") { if($counNivUno > 0) { $jsonArray[$item]['opening_balance'] = number_format($salIniNivUno,2, '.', ''); $jsonArray[$item]['debit_total'] = number_format($debitoNivUno,2, '.', ''); $jsonArray[$item]['credit_total'] = number_format($creditNivUno,2, '.', ''); $jsonArray[$item]['closing_balance'] = number_format($SalFinNivUno,2, '.', ''); // Actualizamos el nivel 1 $sValBus = $AccCod; $clave = array_search($sValBus, array_column($arrayDetalle, 'NumCta')); //echo "Nivel Uno: ".$sValBus . " ==> ".$value['account.CF.Codigo del SAT']. " ID: ".$clave; //echo "
"; if ($clave !== NULL) { $arrayDetalle[$clave]['SaldoIni'] = number_format($salIniNivUno,2, '.', ''); $arrayDetalle[$clave]['Debe'] = number_format($debitoNivUno,2, '.', ''); $arrayDetalle[$clave]['Haber'] = number_format($creditNivUno,2, '.', ''); $arrayDetalle[$clave]['SaldoFin'] = number_format($SalFinNivUno,2, '.', ''); } } // Inicializamos Nivel Dos $salIniNivDos = 0.00; $debitoNivDos = 0.00; $creditNivDos = 0.00; $SalFinNivDos = 0.00; $counNivDos = 0; // Inicializamos Nivel Tres $salIniNivTres = 0.00; $debitoNivTres = 0.00; $creditNivTres = 0.00; $SalFinNivTres = 0.00; $counNivTres = 0; // Inicializamos Nivel Uno $salIniNivUno = 0.00; $debitoNivUno = 0.00; $creditNivUno = 0.00; $SalFinNivUno = 0.00; $counNivUno = 0; } } } #== Se crea e inserta el primer nodo donde se declaran los namespaces ====== cargaAttNodo($root, array("Version"=>"1.3", "RFC"=>$regFeCa, "Mes"=>$mesCata, "Anio"=>$anioCat, "TipoEnvio"=>$tipoEnvio,"xsi:schemaLocation"=>"http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/BalanzaComprobacion http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/BalanzaComprobacion/BalanzaComprobacion_1_3.xsd", "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", "xmlns:BCE"=>"http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/BalanzaComprobacion") ); $arrayToCSV = Array(); $arrayToCSV[] = array('NumCta','SaldoIni', 'Debe', 'Haber', 'SaldoFin', 'ClaveSat'); foreach($arrayDetalle as $item => $value) { if($value['ClaveSat'] != "") { $codCue = substr($value['NumCta'],0,3); if(is_numeric($codCue)) { $cuentas = $xml->createElement("BCE:Ctas"); $cuenta = $root->appendChild($cuentas); cargaAttNodo($cuenta, array( "SaldoFin"=>$value['SaldoFin'], "Haber"=>$value['Haber'], "Debe"=>$value['Debe'], "SaldoIni"=>$value['SaldoIni'], "NumCta"=>$value['NumCta'] ) ); // Creamos el array para el archivo CSV $arrayToCSV[] = array($value['NumCta'],$value['SaldoIni'], $value['Debe'], $value['Haber'], $value['SaldoFin'], $value['ClaveSat']); } } } #=== Se guarda el archivo .XML de la Balanza de Comprobación ======================= $xmlFilesPath = 'archs_xml/'; $csvFilesPath = 'archs_csv/'; $zipFilesPath = 'archs_zip/'; if($tipoEnvio == "N") { $file_name_with_full_path = $xmlFilesPath.$regFeCa.$anioCat.$mesCata."BN.xml"; $file_name_csv_full_path = $csvFilesPath.$regFeCa.$anioCat.$mesCata."BN.csv"; } else { $file_name_with_full_path = $xmlFilesPath.$regFeCa.$anioCat.$mesCata."BC.xml"; $file_name_csv_full_path = $csvFilesPath.$regFeCa.$anioCat.$mesCata."BC.csv"; } #=== Si existe el archivo CSV se elimina para crear el nuevo ======================= if(!file_exists($file_name_csv_full_path)){ unlink($file_name_csv_full_path); } $fp = fopen($file_name_csv_full_path, 'w'); foreach ($arrayToCSV as $fields) { fputcsv($fp, $fields); } fclose($fp); #=== Si existe el archivo XML se elimina para crear el nuevo ======================= if(!file_exists($file_name_with_full_path)){ unlink($file_name_with_full_path); } #=== Se guarda el archivo XML creado ======================= $cfdi = $xml->saveXML(); $xml->formatOutput = true; $xml->save($file_name_with_full_path); unset($xml); #=== Se dan permisos de escritura al archivo .xml. ========================= if($tipoEnvio == "N") { chmod($SendaXML.$regFeCa.$anioCat.$mesCata."BN.xml", 0777); } else { chmod($SendaXML.$regFeCa.$anioCat.$mesCata."BC.xml", 0777); } #=== Se procede a crear el archivo ZIP del Catalogo de Cuentas ========================= $zip = new ZipArchive(); $zipFilesPath = 'archs_zip/'; if($tipoEnvio == "N") { $nombreArchivoZip = $zipFilesPath.$regFeCa.$anioCat.$mesCata."BN.zip"; $nameArchZip = $regFeCa.$anioCat.$mesCata."BN.zip"; } else { $nombreArchivoZip = $zipFilesPath.$regFeCa.$anioCat.$mesCata."BC.zip"; $nameArchZip = $regFeCa.$anioCat.$mesCata."BC.zip"; } #=== Si existe el archivo ZIP se elimina para crear el nuevo ======================= if(!file_exists($nombreArchivoZip)){ unlink($nombreArchivoZip); } if (!$zip->open($nombreArchivoZip, ZipArchive::CREATE | ZipArchive::OVERWRITE)) { exit("Error abriendo ZIP en $nombreArchivoZip"); } $nombre = basename($file_name_with_full_path); $zip->addFile($file_name_with_full_path, $nombre); $resultado = $zip->close(); if (!$resultado) { // echo "Error creando archivo"; exit("Error creando archivo ZIP"); } #=== FIN DEL PROCESO ======================= $resultData = array( 'xmlFilesPath' => $xmlFilesPath, 'xmlFileName' => $regFeCa.$anioCat.$mesCata."BN.xml", 'csvFilesPath' => $csvFilesPath, 'csvFileName' => $regFeCa.$anioCat.$mesCata."BN.csv", 'zipFilesPath' => $zipFilesPath, 'zipFileName' => $regFeCa.$anioCat.$mesCata."BN.zip", 'totalCargos' => round($totalCargos,2), 'totalAbonos' => round($totalAbonos,2), 'totalCuentas' => $Account1count, 'cantidadDeudoras' => 333); if($tipoEnvio == "N") { $j_array = array('code' => "200", 'message' => 'Proceso de creacion de Archivo (NORMAL) de Balanza de Comprobacion fue exitoso', 'data' => $resultData); } else { $j_array = array('code' => "200", 'message' => "Proceso de creacion de Archivo (COMPLEMENTARIO) de Balanza de Comprobacion fue exitoso", 'data' => $resultData); } $Resultado = json_encode($j_array); echo $Resultado; return $Resultado; ### FUNCIONES DEL MÓDULO ######################################################### # Funcion para convertir CSV a formato JSON function csvToJson($fname) { if (!($fp = fopen($fname, 'r'))) { die("No se pudo abrir el arcivo CSV..."); } $key = fgetcsv($fp,"1024",","); $json = array(); while ($row = fgetcsv($fp,"1024",",")) { $json[] = array_combine($key, $row); } fclose($fp); return json_encode($json); } # Función que integra los nodos al archivo .XML function cargaAttNodo(&$nodo, $attr){ global $xmldoc; foreach ($attr as $key => $val){ $val = preg_replace('/\s\s+/', ' ', $val); $val = trim($val); if (strlen($val)>0){ $val = utf8_encode(str_replace("|","/",$val)); $nodo->setAttribute($key,$val); } } }