{"id":383225,"date":"2026-10-22T13:55:22","date_gmt":"2026-10-22T13:55:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/miplata-facturacion\/"},"modified":"2026-10-22T13:55:03","modified_gmt":"2026-10-22T13:55:03","slug":"miplata","status":"publish","type":"plugin","link":"https:\/\/tw.wordpress.org\/plugins\/miplata\/","author":23582404,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"7.1.3","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"miPlata FACTURAR","header_author":"miPlata","header_description":"Factura electr\u00f3nica DIAN autom\u00e1tica para cada pedido pagado, emitida por miPlata. Pagos con WAVA (Nequi, tarjetas, PSE) a trav\u00e9s del plugin oficial de WAVA o PayPal nativo; opcionalmente las pasarelas de miPlata.","assets_banners_color":"45495a","last_updated":"2026-10-22 13:55:03","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/facturar.miplata.co\/plugins\/woocommerce\/","header_author_uri":"https:\/\/miplata.co","rating":0,"author_block_rating":0,"active_installs":0,"downloads":66,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"miplata","date":"2026-10-22 13:55:03","revision":3760021}},"upgrade_notice":{"1.0.3":"<p>Scoped admin notices; review housekeeping.<\/p>","1.0.2":"<p>Translation and uninstall housekeeping; no behaviour change.<\/p>","1.0.1":"<p>Fixes connecting on hosts without the PHP sodium extension.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3760021,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3760021,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500-es_CO.png":{"filename":"banner-1544x500-es_CO.png","revision":3760021,"resolution":"1544x500","location":"assets","locale":"es_CO","width":1544,"height":500},"banner-1544x500-es_ES.png":{"filename":"banner-1544x500-es_ES.png","revision":3760021,"resolution":"1544x500","location":"assets","locale":"es_ES","width":1544,"height":500},"banner-1544x500-es_MX.png":{"filename":"banner-1544x500-es_MX.png","revision":3760021,"resolution":"1544x500","location":"assets","locale":"es_MX","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3760021,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250-es_CO.png":{"filename":"banner-772x250-es_CO.png","revision":3760021,"resolution":"772x250","location":"assets","locale":"es_CO","width":772,"height":250},"banner-772x250-es_ES.png":{"filename":"banner-772x250-es_ES.png","revision":3760021,"resolution":"772x250","location":"assets","locale":"es_ES","width":772,"height":250},"banner-772x250-es_MX.png":{"filename":"banner-772x250-es_MX.png","revision":3760021,"resolution":"772x250","location":"assets","locale":"es_MX","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3760021,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1-es_CO.png":{"filename":"screenshot-1-es_CO.png","revision":3760181,"resolution":"1","location":"assets","locale":"es_CO","width":1400,"height":900},"screenshot-1-es_ES.png":{"filename":"screenshot-1-es_ES.png","revision":3760181,"resolution":"1","location":"assets","locale":"es_ES","width":1400,"height":900},"screenshot-1-es_MX.png":{"filename":"screenshot-1-es_MX.png","revision":3760181,"resolution":"1","location":"assets","locale":"es_MX","width":1400,"height":900},"screenshot-1.png":{"filename":"screenshot-1.png","revision":3760021,"resolution":"1","location":"assets","locale":"","width":1400,"height":900},"screenshot-2-es_CO.png":{"filename":"screenshot-2-es_CO.png","revision":3760181,"resolution":"2","location":"assets","locale":"es_CO","width":1400,"height":900},"screenshot-2-es_ES.png":{"filename":"screenshot-2-es_ES.png","revision":3760181,"resolution":"2","location":"assets","locale":"es_ES","width":1400,"height":900},"screenshot-2-es_MX.png":{"filename":"screenshot-2-es_MX.png","revision":3760181,"resolution":"2","location":"assets","locale":"es_MX","width":1400,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3760021,"resolution":"2","location":"assets","locale":"","width":1400,"height":900},"screenshot-3-es_CO.png":{"filename":"screenshot-3-es_CO.png","revision":3760181,"resolution":"3","location":"assets","locale":"es_CO","width":1400,"height":900},"screenshot-3-es_ES.png":{"filename":"screenshot-3-es_ES.png","revision":3760181,"resolution":"3","location":"assets","locale":"es_ES","width":1400,"height":900},"screenshot-3-es_MX.png":{"filename":"screenshot-3-es_MX.png","revision":3760181,"resolution":"3","location":"assets","locale":"es_MX","width":1400,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3760021,"resolution":"3","location":"assets","locale":"","width":1400,"height":900},"screenshot-4-es_CO.png":{"filename":"screenshot-4-es_CO.png","revision":3760181,"resolution":"4","location":"assets","locale":"es_CO","width":1400,"height":900},"screenshot-4-es_ES.png":{"filename":"screenshot-4-es_ES.png","revision":3760181,"resolution":"4","location":"assets","locale":"es_ES","width":1400,"height":900},"screenshot-4-es_MX.png":{"filename":"screenshot-4-es_MX.png","revision":3760181,"resolution":"4","location":"assets","locale":"es_MX","width":1400,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3760181,"resolution":"4","location":"assets","locale":"","width":1400,"height":900},"screenshot-5-es_CO.png":{"filename":"screenshot-5-es_CO.png","revision":3760181,"resolution":"5","location":"assets","locale":"es_CO","width":1400,"height":900},"screenshot-5-es_ES.png":{"filename":"screenshot-5-es_ES.png","revision":3760181,"resolution":"5","location":"assets","locale":"es_ES","width":1400,"height":900},"screenshot-5-es_MX.png":{"filename":"screenshot-5-es_MX.png","revision":3760181,"resolution":"5","location":"assets","locale":"es_MX","width":1400,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3760181,"resolution":"5","location":"assets","locale":"","width":1400,"height":900}},"screenshots":{"1":"Connect the store with a single-use pairing code generated in miPlata.","2":"Connected store: account, permissions, DIAN environment and settings (tax classes \u2192 DIAN taxes).","3":"Checkout: buyer ID type and number, only when no other plugin already asks for them.","4":"Order received: the buyer opens the electronic invoice (PDF), the signed XML and the DIAN lookup.","5":"Order screen: invoice number, DIAN status, CUFE, PDF\/XML and the credit note issued for a refund."}},"plugin_section":[],"plugin_tags":[518,252416,195908,193902,286],"plugin_category":[45],"plugin_contributors":[287919],"plugin_business_model":[],"class_list":["post-383225","plugin","type-plugin","status-publish","hentry","plugin_tags-colombia","plugin_tags-dian","plugin_tags-electronic-invoice","plugin_tags-factura-electronica","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-miplata","plugin_committers-miplata"],"banners":{"banner":"https:\/\/ps.w.org\/miplata\/assets\/banner-772x250.png?rev=3760021","banner_2x":"https:\/\/ps.w.org\/miplata\/assets\/banner-1544x500.png?rev=3760021","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/miplata\/assets\/icon-128x128.png?rev=3760021","icon_2x":"https:\/\/ps.w.org\/miplata\/assets\/icon-256x256.png?rev=3760021","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/miplata\/assets\/screenshot-1.png?rev=3760021","caption":"Connect the store with a single-use pairing code generated in miPlata."},{"src":"https:\/\/ps.w.org\/miplata\/assets\/screenshot-2.png?rev=3760021","caption":"Connected store: account, permissions, DIAN environment and settings (tax classes \u2192 DIAN taxes)."},{"src":"https:\/\/ps.w.org\/miplata\/assets\/screenshot-3.png?rev=3760021","caption":"Checkout: buyer ID type and number, only when no other plugin already asks for them."},{"src":"https:\/\/ps.w.org\/miplata\/assets\/screenshot-4.png?rev=3760181","caption":"Order received: the buyer opens the electronic invoice (PDF), the signed XML and the DIAN lookup."},{"src":"https:\/\/ps.w.org\/miplata\/assets\/screenshot-5.png?rev=3760181","caption":"Order screen: invoice number, DIAN status, CUFE, PDF\/XML and the credit note issued for a refund."}],"raw_content":"<!--section=description-->\n<p><strong>miPlata FACTURAR<\/strong> connects your WooCommerce store to your electronic-invoicing account at <a href=\"https:\/\/miplata.co\">miPlata<\/a> and issues a DIAN-validated electronic invoice (<em>factura electr\u00f3nica<\/em>, Colombia) for every paid order \u2014 no manual steps.<\/p>\n\n<ul>\n<li><strong>Invoice on payment.<\/strong> When an order moves to <em>Processing<\/em> or <em>Completed<\/em>, the plugin registers it with miPlata using native WooCommerce data (lines, coupons, shipping, fees, taxes, buyer). miPlata builds and signs the UBL 2.1 invoice and the DIAN validates it.<\/li>\n<li><strong>WAVA payments verified.<\/strong> If you take payments with the official WAVA plugin (Nequi, cards, PSE), the invoice is only issued once WAVA confirms the payment to miPlata: an unpaid order is never invoiced.<\/li>\n<li><strong>PayPal in foreign currency.<\/strong> Orders in USD, EUR, GBP, CAD, CHF, MXN or JPY are invoiced in their currency with the day's official exchange rate (TRM).<\/li>\n<li><strong>Your store's e-mail.<\/strong> The invoice (PDF + signed XML) is attached to your own WooCommerce e-mail, with your template and logo. The buyer can also open it with one click in <em>My account \u2192 View invoice<\/em> and on the order-received page.<\/li>\n<li><strong>Refunds become credit notes.<\/strong> A full or partial refund issues the matching DIAN credit note (<em>nota cr\u00e9dito<\/em>).<\/li>\n<li><strong>Only one new field.<\/strong> Buyer ID type and number \u2014 and only if no other plugin already asks for them. Optionally, the city as a DANE department \u2192 municipality dropdown.<\/li>\n<li><strong>Optional miPlata gateways.<\/strong> \"Pay with WAVA\" and \"Pay with PayPal (miPlata)\" for merchants who prefer not to install another payment plugin.<\/li>\n<li><strong>HPOS and Cart\/Checkout blocks<\/strong> compatible.<\/li>\n<\/ul>\n\n<p>The plugin's admin screens and buyer-facing texts are in Spanish (Colombia), the language of its users.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>A miPlata account with electronic invoicing enabled (DIAN test or production). Sign up at <a href=\"https:\/\/miplata.co\">miplata.co<\/a>.<\/li>\n<li>WooCommerce 7.9 or later, PHP 7.4 or later. The PHP sodium extension is recommended (WordPress' bundled sodium_compat is used as a fallback).<\/li>\n<li>The store must be reachable over HTTPS on its public domain (used once to verify domain ownership when connecting).<\/li>\n<\/ul>\n\n<h4>Security<\/h4>\n\n<ul>\n<li>The store is connected with a <strong>single-use code<\/strong> generated by an administrator in miPlata and bound to the store's domain. miPlata will never ask you for that code.<\/li>\n<li>Every request is signed with an Ed25519 key generated on your server; miPlata only stores the public key. Keys are encrypted at rest with libsodium (<code>MIPLATA_ENCRYPTION_KEY<\/code> in <code>wp-config.php<\/code>) and wiped on uninstall.<\/li>\n<li>The connection can only create invoices for its own orders and read those invoices; it has no access to other customers, payroll or other documents in your miPlata account.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin is a client for the <strong>miPlata<\/strong> electronic-invoicing service, operated by miPlata SAS (Colombia). Nothing is sent before an administrator connects the store with a pairing code generated in their miPlata account (explicit opt-in). After that, the plugin talks only to your own account host <code>https:\/\/&lt;your-account&gt;.miplata.co<\/code>:<\/p>\n\n<ul>\n<li><strong>When an order is paid<\/strong> (status <em>Processing<\/em> \/ <em>Completed<\/em>): it sends the order lines, totals, currency, payment method and the buyer's billing data (name, ID type and number, e-mail, phone, address) so miPlata can issue the electronic invoice.<\/li>\n<li><strong>While the invoice is being issued<\/strong>: it reads the invoice status and downloads the signed PDF and XML to attach them to the order e-mail and show them to the buyer.<\/li>\n<li><strong>When an invoiced order is refunded<\/strong> (full or partial): it requests the corresponding credit note (amount and reason). An order cancelled or fully refunded before it was invoiced is withdrawn instead, so no invoice is issued.<\/li>\n<li><strong>Once a day<\/strong>: it reports a diagnostic without personal data (plugin, PHP and WooCommerce versions; whether WP-Cron, an SMTP plugin and the WAVA plugin are active).<\/li>\n<\/ul>\n\n<p>miPlata also calls your site: once, at connection time, a <code>GET<\/code> to <code>\/wp-json\/miplata\/v1\/connect-key<\/code> (public key only) to verify you control the domain, and afterwards signed webhooks to <code>\/wp-json\/miplata\/v1\/webhook<\/code> with each invoice's status.<\/p>\n\n<ul>\n<li>Terms of service: https:\/\/facturar.miplata.co\/terminos<\/li>\n<li>Privacy policy: https:\/\/facturar.miplata.co\/privacidad<\/li>\n<\/ul>\n\n<p>Invoices are validated by the Colombian tax authority (DIAN); miPlata transmits them on your behalf as your electronic-invoicing provider. The buyer can verify any invoice at https:\/\/catalogo-vpfe.dian.gov.co\/User\/SearchDocument.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin (WooCommerce must be active).<\/li>\n<li>Recommended: add <code>define( 'MIPLATA_ENCRYPTION_KEY', '&lt;64 random hex characters&gt;' );<\/code> to <code>wp-config.php<\/code>.<\/li>\n<li>In miPlata: <strong>Configuraci\u00f3n \u2192 Integraciones \u2192 Conectar tienda \u2192 WooCommerce<\/strong>, enter your store's domain and copy the code (valid 10 minutes, single use).<\/li>\n<li>In <strong>WooCommerce \u2192 miPlata<\/strong>, paste the code and click <strong>Conectar tienda<\/strong>.<\/li>\n<li>Review the settings: how the invoice is sent, WooCommerce tax classes \u2192 DIAN taxes, and the buyer-ID field.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20miplata%20account%3F\"><h3>Do I need a miPlata account?<\/h3><\/dt>\n<dd><p>Yes. miPlata is the electronic-invoicing provider that signs the invoices and sends them to the DIAN. The plugin does nothing until it is connected to an account.<\/p><\/dd>\n<dt id=\"do%20i%20need%20the%20wava%20plugin%3F\"><h3>Do I need the WAVA plugin?<\/h3><\/dt>\n<dd><p>No. If you take payments with WAVA, use its official plugin; miPlata verifies every WAVA payment before invoicing. Otherwise, invoices are issued for paid orders from any payment method, or you can enable the optional miPlata gateways.<\/p><\/dd>\n<dt id=\"what%20if%20the%20buyer%20does%20not%20enter%20an%20id%20number%3F\"><h3>What if the buyer does not enter an ID number?<\/h3><\/dt>\n<dd><p>It depends on the policy configured in miPlata for this connection: invoice to <em>consumidor final<\/em>, send the buyer a link to complete the data, or hold the order.<\/p><\/dd>\n<dt id=\"where%20are%20invoices%20stored%3F\"><h3>Where are invoices stored?<\/h3><\/dt>\n<dd><p>In miPlata (5 years, as the DIAN requires) and a private copy on your server for the \"View invoice\" button, in a non-guessable folder under uploads (direct access denied on Apache). The plugin serves them only to the order owner, a store manager, or a guest holding the order key.<\/p><\/dd>\n<dt id=\"can%20i%20test%20without%20issuing%20real%20invoices%3F\"><h3>Can I test without issuing real invoices?<\/h3><\/dt>\n<dd><p>Yes. A miPlata account in DIAN test mode (<em>habilitaci\u00f3n<\/em>) issues test-numbered invoices that are never filed as real ones.<\/p><\/dd>\n<dt id=\"is%20support%20available%3F\"><h3>Is support available?<\/h3><\/dt>\n<dd><p>Yes: hola@miplata.co, or the support section in your miPlata account.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Admin notices only show on the miPlata page, the Plugins screen and WooCommerce order screens.<\/li>\n<li>Document-access errors use the standard WordPress error page (no inline styles).<\/li>\n<li>Removed an unneeded core include.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Plugin name is now \"miPlata FACTURAR\" (the product name).<\/li>\n<li>Text domain is now <code>miplata<\/code>, the plugin's WordPress.org slug, so translations load from WordPress.org language packs.<\/li>\n<li>Uninstall uses an identifier placeholder for the HPOS meta table.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: connecting no longer fails on hosts without the PHP sodium extension (WordPress' sodium_compat cannot wipe memory; the plugin now falls back gracefully).<\/li>\n<li>The order screen shows the credit note number received in the signed webhook.<\/li>\n<li>Tested with WordPress 7.1 and WooCommerce 11.1.<\/li>\n<li>readme in English (WordPress.org requirement).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: pairing by code, automatic invoicing, WAVA payment verification, PayPal in foreign currency, e-mail with PDF + XML, \"View invoice\" in My account, credit notes on refunds, optional gateways.<\/li>\n<\/ul>","raw_excerpt":"Automatic DIAN electronic invoices (Colombia) for every paid WooCommerce order, issued by miPlata. Credit notes on refunds.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/383225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=383225"}],"author":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/miplata"}],"wp:attachment":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=383225"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=383225"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=383225"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=383225"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=383225"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=383225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}