{"id":256481,"date":"2025-11-09T16:54:19","date_gmt":"2025-11-09T16:54:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/comitifact\/"},"modified":"2026-02-22T20:31:22","modified_gmt":"2026-02-22T20:31:22","slug":"efitec-facturacion-for-comiti","status":"publish","type":"plugin","link":"https:\/\/ve.wordpress.org\/plugins\/efitec-facturacion-for-comiti\/","author":23156139,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.33","stable_tag":"trunk","tested":"6.9.4","requires":"5.8","requires_php":"8.2","requires_plugins":null,"header_name":"COMITI Invoicing Cloud for Ecommerce","header_author":"COMITI Sistemas","header_description":"Facturaci\u00f3n COMITI extensi\u00f3n para implementar la factura.","assets_banners_color":"","last_updated":"2026-02-22 20:31:22","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/comiti.mx","header_plugin_uri":"https:\/\/www.comiti.mx\/comitifact-plugin\/","header_author_uri":"https:\/\/comiti.mx","rating":0,"author_block_rating":0,"active_installs":0,"downloads":267,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"aramirezm","date":"2025-11-11 18:25:37"},"1.0.119":{"tag":"1.0.119","author":"aramirezm","date":"2026-02-22 20:35:45"}},"upgrade_notice":{"1.0.118":"<p>Security-hardened uploads, clean uninstall, and improved settings. Update recommended.<\/p>"},"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3393146,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.0.119"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"COMITI Invoice settings in WooCommerce.","2":"Order metabox for CSD\/file uploads.","3":"CFDI list\/actions in orders.","4":"Example printable representation (PDF)."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[139793,12480,126659,250559,286],"plugin_category":[45],"plugin_contributors":[250448],"plugin_business_model":[],"class_list":["post-256481","plugin","type-plugin","status-publish","hentry","plugin_tags-cfdi","plugin_tags-invoice","plugin_tags-mexico","plugin_tags-timbrado","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-aramirezm","plugin_committers-aramirezm"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/efitec-facturacion-for-comiti\/assets\/icon.svg?rev=3393146","icon":"https:\/\/ps.w.org\/efitec-facturacion-for-comiti\/assets\/icon.svg?rev=3393146","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>comitifact connects WooCommerce to COMITI\u2019s CFDI 4.0 (Mexico) stamping services.<\/p>\n\n<p><strong>Key features<\/strong>\n- Generate CFDI 4.0 (XML) and its printable representation (PDF).\n- CFDI cancellation.\n- File uploads attached to orders with size limits and a whitelist of extensions (CSD, XML, ZIP, PEM, etc.).\n- Configurable <strong>HTTPS<\/strong> endpoints for <strong>production<\/strong> and <strong>sandbox<\/strong> environments.\n- Multisite-aware (cleans up on uninstall per site).\n- Internationalization ready (<code>Text Domain: comitifact<\/code>) and loads translations from <code>\/languages<\/code>.<\/p>\n\n<p><strong>Security<\/strong>\n- Nonces on AJAX actions.\n- Capability checks (by default requires <code>manage_woocommerce<\/code> for admin actions).\n- Input sanitization and output escaping.\n- Uploads stored in a dedicated folder <code>\/wp-content\/uploads\/comitifact\/<\/code> with MIME checks and size limits.\n- No credentials or endpoints exposed on the front end.<\/p>\n\n<p><strong>Privacy<\/strong>\nThis plugin integrates with an external e-invoicing (timbrado) provider. Depending on your configuration, fiscal data from orders (RFC, legal name, CFDI use, tax address, etc.) may be sent to your provider over <strong>HTTPS<\/strong>. Review and accept the provider\u2019s terms before use. If you process personal data, ensure you have a lawful basis and appropriate privacy notices.<\/p>\n\n<p><strong>Requirements<\/strong>\n- WordPress \u2265 5.8\n- PHP \u2265 7.4\n- WooCommerce (a version compatible with your site)<\/p>\n\n<h3>Localization<\/h3>\n\n<p>This plugin is translation-ready. Text domain: <code>comitifact<\/code>, path: <code>\/languages<\/code>. You can contribute translations via WordPress.org GlotPress once published.<\/p>\n\n<h3>Notes for Reviewers (WordPress.org)<\/h3>\n\n<ul>\n<li>All AJAX actions that write files or data are protected by nonces and capability checks.<\/li>\n<li>External services are configurable and default to HTTPS endpoints.<\/li>\n<li>No external tracking; no personal data is transmitted unless configured by the site owner for invoicing purposes.<\/li>\n<li>Uninstall routine removes options, transients, prefixed tables, cron hooks, and <code>\/uploads\/comitifact\/<\/code>.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin or install it from the WordPress admin and activate it.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Integrations \/ COMITI Invoice<\/strong> (or the plugin menu, if present) and configure:\n\n<ul>\n<li>Credentials\/keys required for stamping.<\/li>\n<li>Fiscal parameters: issuer regime, CFDI use, etc.<\/li>\n<\/ul><\/li>\n<li>Optional: adjust <strong>maximum file size<\/strong> and <strong>allowed extensions<\/strong> for uploads.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20require%20an%20external%20service%3F\"><h3>Does the plugin require an external service?<\/h3><\/dt>\n<dd><p>Yes. You need an account at https:\/\/comiti.mx. The plugin itself does <strong>not<\/strong> perform stamping.<\/p><\/dd>\n<dt id=\"what%20data%20is%20sent%20to%20the%20external%20service%3F\"><h3>What data is sent to the external service?<\/h3><\/dt>\n<dd><p>Depending on your flow: issuer\/receiver fiscal data, line items, taxes, totals, and related CFDI info. Consult your provider\u2019s documentation and applicable law.<\/p><\/dd>\n<dt id=\"where%20are%20uploaded%20files%20stored%3F\"><h3>Where are uploaded files stored?<\/h3><\/dt>\n<dd><p>In <strong>\/wp-content\/uploads\/comitifact\/<\/strong>. Filenames are randomized and can be associated with the order ID. A reference is saved in the order (metadata).<\/p><\/dd>\n<dt id=\"can%20it%20be%20used%20on%20the%20front%20end%20by%20unauthenticated%20users%3F\"><h3>Can it be used on the front end by unauthenticated users?<\/h3><\/dt>\n<dd><p>For security, uploads and administrative actions are limited to users with proper capabilities in <strong>wp-admin<\/strong>. Enabling sensitive actions for visitors is not recommended.<\/p><\/dd>\n<dt id=\"what%20capabilities%20are%20required%3F\"><h3>What capabilities are required?<\/h3><\/dt>\n<dd><p>By default <code>manage_woocommerce<\/code>. You can adapt capabilities in your installation for more granular roles.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20clean%20up%20on%20uninstall%3F\"><h3>Does the plugin clean up on uninstall?<\/h3><\/dt>\n<dd><p>Yes. <code>uninstall.php<\/code> removes options, transients, plugin-prefixed tables, related cron events, and the <code>\/uploads\/comitifact\/<\/code> folder on each site in a multisite (if applicable).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.118<\/h4>\n\n<ul>\n<li>Initial public release candidate.<\/li>\n<li>Security: nonce + capability checks for AJAX upload.<\/li>\n<li>Uploads to dedicated <code>\/uploads\/comitifact\/<\/code> with MIME whitelist &amp; size limit.<\/li>\n<li>i18n ready (<code>Text Domain: comitifact<\/code>).<\/li>\n<li>Clean uninstall (<code>uninstall.php<\/code>).<\/li>\n<\/ul>","raw_excerpt":"CFDI 4.0 invoicing extension for WooCommerce integrated with COMITI\u2019s services.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/256481","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=256481"}],"author":[{"embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aramirezm"}],"wp:attachment":[{"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=256481"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=256481"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=256481"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=256481"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=256481"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=256481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}