{"id":1350,"date":"2026-04-28T13:44:34","date_gmt":"2026-04-28T13:44:34","guid":{"rendered":"https:\/\/raizselvas.com\/?page_id=1350"},"modified":"2026-07-28T14:57:55","modified_gmt":"2026-07-28T20:57:55","slug":"facturacion","status":"publish","type":"page","link":"https:\/\/raizselvas.com\/en\/facturacion\/","title":{"rendered":"Billing"},"content":{"rendered":"<div class=\"fmx-portal\">\r\n\t\t\t<div class=\"fmx-step fmx-step-search\">\r\n\t\t\t\t<p>\r\n\t\t\t\t\t<label for=\"fmx-order-number\">Order number<\/label><br>\r\n\t\t\t\t\t<input type=\"text\" id=\"fmx-order-number\" inputmode=\"numeric\" autocomplete=\"off\" placeholder=\"1234\">\r\n\t\t\t\t<\/p>\r\n\t\t\t\t<p>\r\n\t\t\t\t\t<label for=\"fmx-amount\">Total pagado<\/label><br>\r\n\t\t\t\t\t<input type=\"text\" id=\"fmx-amount\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"1160.00\">\r\n\t\t\t\t<\/p>\r\n\t\t\t\t<p><button type=\"button\" id=\"fmx-search\">Buscar mi pedido<\/button><\/p>\r\n\t\t\t<\/div>\r\n\r\n\t\t\t<div class=\"fmx-step fmx-step-form\" style=\"display:none;\">\r\n\t\t\t\t<div class=\"fmx-summary\"><\/div>\r\n\t\t\t\t<p>\r\n\t\t\t\t\t<label for=\"fmx-legal-name\">Raz\u00f3n social<\/label><br>\r\n\t\t\t\t\t<input type=\"text\" id=\"fmx-legal-name\" autocomplete=\"organization\">\r\n\t\t\t\t\t<br><small>Tal y como aparece en tu Constancia de Situaci\u00f3n Fiscal.<\/small>\r\n\t\t\t\t<\/p>\r\n\t\t\t\t<p>\r\n\t\t\t\t\t<label for=\"fmx-tax-id\">RFC<\/label><br>\r\n\t\t\t\t\t<input type=\"text\" id=\"fmx-tax-id\" autocomplete=\"off\">\r\n\t\t\t\t<\/p>\r\n\t\t\t\t<p>\r\n\t\t\t\t\t<label for=\"fmx-zip\">C\u00f3digo postal fiscal<\/label><br>\r\n\t\t\t\t\t<input type=\"text\" id=\"fmx-zip\" inputmode=\"numeric\" autocomplete=\"postal-code\">\r\n\t\t\t\t<\/p>\r\n\t\t\t\t<p>\r\n\t\t\t\t\t<label for=\"fmx-email\">Correo para recibir la factura<\/label><br>\r\n\t\t\t\t\t<input type=\"email\" id=\"fmx-email\" autocomplete=\"email\">\r\n\t\t\t\t<\/p>\r\n\t\t\t\t<p>\r\n\t\t\t\t\t<label for=\"fmx-tax-system\">R\u00e9gimen fiscal<\/label><br>\r\n\t\t\t\t\t<select id=\"fmx-tax-system\"><\/select>\r\n\t\t\t\t<\/p>\r\n\t\t\t\t<p>\r\n\t\t\t\t\t<label for=\"fmx-use\">Uso del CFDI<\/label><br>\r\n\t\t\t\t\t<select id=\"fmx-use\"><\/select>\r\n\t\t\t\t<\/p>\r\n\t\t\t\t<p>\r\n\t\t\t\t\t<label for=\"fmx-payment-form\">Forma de pago<\/label><br>\r\n\t\t\t\t\t<select id=\"fmx-payment-form\"><\/select>\r\n\t\t\t\t<\/p>\r\n\t\t\t\t<p><button type=\"button\" id=\"fmx-stamp\">Generar factura<\/button><\/p>\r\n\t\t\t\t<p><small>La factura se emite con estos datos y no se puede modificar despu\u00e9s.<\/small><\/p>\r\n\t\t\t<\/div>\r\n\r\n\t\t\t<div class=\"fmx-step fmx-step-done\" style=\"display:none;\">\r\n\t\t\t\t<p class=\"fmx-done-message\"><\/p>\r\n\t\t\t\t<p class=\"fmx-links\"><\/p>\r\n\t\t\t<\/div>\r\n\r\n\t\t\t<p class=\"fmx-message\" role=\"status\" aria-live=\"polite\"><\/p>\r\n\t\t<\/div>\r\n\r\n\t\t<script>\r\n\t\tjQuery( function ( $ ) {\r\n\t\t\tvar root    = $( '.fmx-portal' );\r\n\t\t\tvar message = root.find( '.fmx-message' );\r\n\t\t\tvar ajaxUrl = \"https:\\\/\\\/raizselvas.com\\\/wp-admin\\\/admin-ajax.php\";\r\n\r\n\t\t\tfunction say( text, bad ) {\r\n\t\t\t\tmessage.text( text || '' ).css( 'color', bad ? '#b32d2e' : 'inherit' );\r\n\t\t\t}\r\n\r\n\t\t\tfunction step( name ) {\r\n\t\t\t\troot.find( '.fmx-step' ).hide();\r\n\t\t\t\troot.find( '.fmx-step-' + name ).show();\r\n\t\t\t}\r\n\r\n\t\t\t\/\/ El n\u00famero y el importe se reenv\u00edan en las DOS peticiones: no hay\r\n\t\t\t\/\/ estado en el servidor, as\u00ed que timbrar revalida desde cero.\r\n\t\t\tfunction lookup() {\r\n\t\t\t\treturn {\r\n\t\t\t\t\torder_number: $( '#fmx-order-number' ).val(),\r\n\t\t\t\t\tamount: $( '#fmx-amount' ).val()\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tfunction fill( select, options, selected ) {\r\n\t\t\t\tselect.empty().append( $( '<option>' ).val( '' ).text( '\u2014' ) );\r\n\t\t\t\t$.each( options || [], function ( i, option ) {\r\n\t\t\t\t\tselect.append( $( '<option>' ).val( option.value ).text( option.label ) );\r\n\t\t\t\t} );\r\n\t\t\t\tif ( selected ) {\r\n\t\t\t\t\tselect.val( selected );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfunction links( data ) {\r\n\t\t\t\tvar box = root.find( '.fmx-links' ).empty();\r\n\t\t\t\tif ( data.pdf_url ) {\r\n\t\t\t\t\tbox.append( $( '<a>' ).attr( 'href', data.pdf_url ).text( \"Descargar PDF\" ) );\r\n\t\t\t\t}\r\n\t\t\t\tif ( data.xml_url ) {\r\n\t\t\t\t\tbox.append( ' ' ).append( $( '<a>' ).attr( 'href', data.xml_url ).text( \"Descargar XML\" ) );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfunction done( data ) {\r\n\t\t\t\troot.find( '.fmx-done-message' ).text( data.message || '' );\r\n\t\t\t\tlinks( data );\r\n\t\t\t\tstep( 'done' );\r\n\t\t\t\tsay( '' );\r\n\t\t\t}\r\n\r\n\t\t\tfunction failed( xhr ) {\r\n\t\t\t\tvar data = xhr && xhr.responseJSON && xhr.responseJSON.data ? xhr.responseJSON.data : {};\r\n\t\t\t\tsay( data.message || \"No se pudo completar la operaci\\u00f3n. Vuelve a intentarlo.\", true );\r\n\t\t\t}\r\n\r\n\t\t\t$( '#fmx-search' ).on( 'click', function () {\r\n\t\t\t\tvar button = $( this ).prop( 'disabled', true );\r\n\t\t\t\tsay( \"Buscando\\u2026\" );\r\n\r\n\t\t\t\t$.post( ajaxUrl, $.extend( lookup(), { action: \"fmx_portal_search\" } ) )\r\n\t\t\t\t\t.done( function ( response ) {\r\n\t\t\t\t\t\tvar data = response && response.data ? response.data : {};\r\n\r\n\t\t\t\t\t\tif ( data.step === 'done' ) {\r\n\t\t\t\t\t\t\tdone( data );\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tvar summary = data.summary || {};\r\n\t\t\t\t\t\troot.find( '.fmx-summary' ).text(\r\n\t\t\t\t\t\t\t\"Pedido\" + ' #' + summary.number +\r\n\t\t\t\t\t\t\t' \u00b7 ' + summary.date + ' \u00b7 ' + summary.total\r\n\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\tvar catalogs = data.catalogs || {};\r\n\t\t\t\t\t\tvar defaults = data.defaults || {};\r\n\r\n\t\t\t\t\t\tfill( $( '#fmx-tax-system' ), catalogs.tax_regimes, defaults.tax_system );\r\n\t\t\t\t\t\tfill( $( '#fmx-use' ), catalogs.cfdi_uses, defaults.use );\r\n\t\t\t\t\t\tfill( $( '#fmx-payment-form' ), catalogs.payment_forms, defaults.payment_form );\r\n\r\n\t\t\t\t\t\t$( '#fmx-legal-name' ).val( defaults.legal_name || '' );\r\n\t\t\t\t\t\t$( '#fmx-tax-id' ).val( defaults.tax_id || '' );\r\n\t\t\t\t\t\t$( '#fmx-zip' ).val( defaults.zip || '' );\r\n\t\t\t\t\t\t$( '#fmx-email' ).val( defaults.email || '' );\r\n\r\n\t\t\t\t\t\tstep( 'form' );\r\n\t\t\t\t\t\tsay( '' );\r\n\t\t\t\t\t} )\r\n\t\t\t\t\t.fail( failed )\r\n\t\t\t\t\t.always( function () {\r\n\t\t\t\t\t\tbutton.prop( 'disabled', false );\r\n\t\t\t\t\t} );\r\n\t\t\t} );\r\n\r\n\t\t\t$( '#fmx-stamp' ).on( 'click', function () {\r\n\t\t\t\t\/\/ Se deshabilita antes de la petici\u00f3n y no se vuelve a habilitar\r\n\t\t\t\t\/\/ pase lo que pase. Un bot\u00f3n que revive tras un timeout es una\r\n\t\t\t\t\/\/ segunda petici\u00f3n de timbrado.\r\n\t\t\t\t$( this ).prop( 'disabled', true );\r\n\t\t\t\tsay( \"Generando tu factura\\u2026 no cierres esta p\\u00e1gina.\" );\r\n\r\n\t\t\t\t$.post( ajaxUrl, $.extend( lookup(), {\r\n\t\t\t\t\taction: \"fmx_portal_stamp\",\r\n\t\t\t\t\tuse: $( '#fmx-use' ).val(),\r\n\t\t\t\t\tpayment_form: $( '#fmx-payment-form' ).val(),\r\n\t\t\t\t\tcustomer: {\r\n\t\t\t\t\t\tlegal_name: $( '#fmx-legal-name' ).val(),\r\n\t\t\t\t\t\ttax_id: $( '#fmx-tax-id' ).val(),\r\n\t\t\t\t\t\ttax_system: $( '#fmx-tax-system' ).val(),\r\n\t\t\t\t\t\tzip: $( '#fmx-zip' ).val(),\r\n\t\t\t\t\t\temail: $( '#fmx-email' ).val()\r\n\t\t\t\t\t}\r\n\t\t\t\t} ) )\r\n\t\t\t\t\t.done( function ( response ) {\r\n\t\t\t\t\t\tdone( response && response.data ? response.data : {} );\r\n\t\t\t\t\t} )\r\n\t\t\t\t\t.fail( failed );\r\n\t\t\t} );\r\n\t\t} );\r\n\t\t<\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":2186,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1350","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/raizselvas.com\/en\/wp-json\/wp\/v2\/pages\/1350","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/raizselvas.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/raizselvas.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/raizselvas.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/raizselvas.com\/en\/wp-json\/wp\/v2\/comments?post=1350"}],"version-history":[{"count":5,"href":"https:\/\/raizselvas.com\/en\/wp-json\/wp\/v2\/pages\/1350\/revisions"}],"predecessor-version":[{"id":2399,"href":"https:\/\/raizselvas.com\/en\/wp-json\/wp\/v2\/pages\/1350\/revisions\/2399"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/raizselvas.com\/en\/wp-json\/wp\/v2\/media\/2186"}],"wp:attachment":[{"href":"https:\/\/raizselvas.com\/en\/wp-json\/wp\/v2\/media?parent=1350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}