Si hay un plugin gratuito que prácticamente todo usuario de WooCommerce utiliza para crear y enviar facturas y albaranes de entrega es WooCommerce PDF Invoices & Packing Slips.
Sin tener que pagar por la versión premium del plugin sirve para la mayoría de las necesidades de facturación de cualquier Ecommerce, por eso es tan popular.
Pero hay algo que no se puede hacer por defecto, y es decidir para qué categorías de producto se enviará factura en PDF y para cuáles no, no existe ningún ajuste para configurar esto.
Sería algo muy útil, pues en un mismo Ecommerce no siempre todos los productos son susceptibles de creación y envío de factura.
Afortunadamente es fácil definir para qué categorías se generarán facturas y para cuáles no, creando una función que aplique filtros según la categoría.
Sería algo así:
//Filtrar para qué categorías se crean facturas PDF add_filter( 'wpo_wcpdf_custom_attachment_condition', 'wpo_wcpdf_disable_based_on_product_categories', 100, 4 ); function wpo_wcpdf_disable_based_on_product_categories( $condition, $order, $status, $template_type ) { // aplicamos la comprobación solo a las facturas if ($template_type != 'invoice') { return $condition; } // aquí ponemos para qué categorías se crearán facturas $invoice_cats = array('Cursos','Consultoría'); $items = $order->get_items(); $order_cats = array(); foreach ($items as $item_id => $item) { // obtenemos las categorías por producto $product = $order->get_product_from_item( $item ); if ($product) { $terms = get_the_terms( $product->get_id(), 'product_cat' ); if (empty($terms)) { continue; } else { foreach ($terms as $key => $term) { $order_cats[$term->term_id] = $term->name; } } } } // array de coincidencia de la categoría $cat_matches = array_intersect($invoice_cats, $order_cats); if ( count($cat_matches) > 0 ) { // si coinciden 1 o más se adjunta factura return $condition; } else { return false; } }
Solo tienes que personalizar en el código anterior la línea del array $invoice_cats
poniendo los nombres de las categorías para las que se debería enviar factura.
Luego puedes subir tu código a tu plugin de personalizaciones o crear un plugin solo para esto.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Según tu criterio, ¿cuál es mejor? ¿Este o el de YITH?
El de Yith es más completo, e incluye facturas rectificativas, algo que no incluye ningún otro plugin de facturas PDF y en España es imprescindible.
¿Se puede adaptar este código para que funcione con el plugin de YITH?. Gracias.
No, no tiene nada que ver, usa funciones del plugin
Hola,
¿Es posible enviar diferentes formatos de factura en función de la categoría?
P.e: Para Categoría 1 envio una factura con el logo y el pié de proveedor 1. Para Categoría 2 pues logo y pié del proveedor 2 más un texto específico de esta categoría.
Saludos,
Eso precisamente pregunté yo a soporte del plugin y me indicaron que eso está en la versión de pago