Vamos a explicar brevemente como en Woocommerce exportar ordenes con numero de factura en excel, generar los numeros de factura para nuestra tienda de Woocommerce en sencillo usando el plugin Woocommerce PDF Invoices & Packing Slips, además es un plugin gratuito. El problema viene cuando queremos hacer nuestro inventario mensual de pedidos y facturas. Necesitamos de otro plugin gratuito que se llama Advanced Order Export For Woocomerce para exportar nuestras ordenes de compra pero no incluye el número de factura que nos viene genial de Woocommerce PDF Invoices & Packing Slips, para ello necesitaremos añadirlo a la hora de exportar los pedidos de nuestra tienda, te explicamos cómo hacerlo en este articulo.
Añadir automaticamente numero de facturas a los pedidos de Woocommerce.
Exportar los pedidos de compra de Woocommerce a excel.
Exportar los pedidos de compra de Woocommerce a excel.
Ya tenemos todas las herramientas necesarias para poder exportar un listado a excel de nuestros pedidos de woocommerce pero esto no va a incluir el numero de las facturas que se está enviando a los clientes cuando realizar una compra en nuestra tienda online de Woocomerce, aquí es donde empieza la magia.
Si bajamos un poco la vista con el ratón podemos ver la última opción disponible que pone Set up fields to export, si desplegamos esta opción nos aparecen todos los campos que exporta por defecto el plugin.
En la parte de la derecha nos aparece en Actions el botón Add Field que vamos a utilizar para añadir un campo personalizado a nuestra exportación de pedidos de woocomerce. En el desplegable Meta Key buscamos el campo que pone :
_wcpdf_invoice_number
Y le damos a confirmar. Podemos ponerle un nombre para la descripción, en mi caso he puesto “invoice number”.
Como podéis ver a la derecha aparace ya un nuevo campo _wcpdf_invoice_number junto al resto de los campos que habitualmente exporta, si lo necesitáis aparece un icono de papelera al lado de _wcpdf_invoice_number, por si necesitáis eliminarlo de la exportación.
Esta sería la vista final antes de Woocomerce exportar ordenes con numero de factura en excel, podéis reordenar los campos que aparecen a la izquierda arrastrándolos hacia arriba o abajo según vuestras preferencias.
Una vez añadido el nuevo campo de la factura podemos exportar de la manera habitual haciendo clic en el botón exportar que aparece abajo del todo, si le dais al botón de guardar (Save settings) os guardará esta personalización del campo para futuras exportaciones de ordenes de compra con número de factura que tengáis que hacer en el futuro.
Si teneís alguna duda sobre Woocommerce exportar ordenes con numero de factura en excel no dudéis en ponérmelo en los comentarios.
Hola
Yo tengo el pluggin Bookings oficial de WordPress y necesito que en los listados de Advanced Order Export me imprima la hora y fecha del servicio contratado pero no encuentro ese meta para agregar, sin embargo en la factura que imprimo de PDF invoices si me figura.
Es decir un cliente hace un pedido para una fecha y hora y en la factura aparece pero en Advanced Order no veo la opción de incluirla en los metas.
Hola Iván gracias por tu comentario, si te vas a abajo en “Set up fields to export” y lo amplias, en la parte de la derecha “Use section Product order item to add item meta”, te deja elegir los campos que quieres añadir, en tu caso tienes que buscar el campo relacionado con el plugin de Bookings. Si no te aparece entonces tendrias que añadirlo manualmente siguiendo esta guia https://docs.algolplus.com/algol_order_export/fields/ del creador del plugin.
Si así lo hice pero no doy con ello. El meta no viene por defecto a pesar de ser un pluggin oficial de wordpress. El código PHP que introduzco es:
add_filter(‘woe_get_order_value_start_date’,function ($value, $order,$fieldname) {
$value = $order->start_date() . ‘-‘ .$order->start_time();
return $value;
},10,3);
Porque quiero sacar la hora y la fecha y creo que la linea de value es la que escribo mal pero no se el error.
Hola Iván, buscando un poco he encontrado este codigo que puede que te sirva, selecciona las fechas de reserva en lugar de la fecha de compra:
/remap settings
add_filter( ‘woe_settings_validate_defaults’, function( $settings ){
if( $settings[‘from_date’] ) {
$settings[‘book_start’] = date( ‘Ymd’, strtotime( $settings[‘from_date’] ) ) . ‘000000’;
$settings[‘from_date’] = ”;
}
if( $settings[‘to_date’] ) {
$settings[‘book_end’] = date( ‘Ymd’, strtotime( $settings[‘to_date’] ) ) . ‘000000’;
$settings[‘to_date’] = ”;
}
return $settings;
});
//filter orders
add_filter( ‘woe_sql_get_order_ids_where’, function( $where, $settings ){
global $wpdb;
$where[]= “orders.ID IN ( SELECT DISTINCT post_parent FROM {$wpdb->posts} WHERE ID IN (SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key=’_booking_start’ AND meta_value <= {$settings['book_start']}) AND ID IN (SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key=’_booking_end’ AND meta_value >= {$settings[‘book_end’]}))”;
return $where;
}, 10, 2);
Es del 2020 por lo que no sé si te funcionará, como no tengo el plugin de booking de woocomerce no puedo probarlo, el codigo pertenece a https://tombroucke.be/blog/
Millones de gracias. Lo he insertado dentro de “Código PHP personalizado para modificar la salida” pero no hace nada. También me he metido dentro de la web que me indicas y he probado otro código que viene pero tampoco hace nada…
Es raro que no haya nada para poder imprimir las reservas de una fecha…
¿POdrias cotizarnos configurarnos esta función? Es que nos estamos volviendo locos, y es el único que vemos algo de luz.
Mil gracias
Hola Ivan, te acabo de enviar un email con los detalles para poder solucionarlo.
Hola, me ha encantado tu artículo y está muy bien explicado.
Me surge una duda: si el cliente ha comprado varios artículos, ¿cuál es el meta para que me salga el campo concepto con todos los artículos en uno? Es que en el Excel se repiten filas de la misma factura (con sus precios finales varias veces) y es porque hay varios artículos en dicha factura.
Gracias
Hola Maria, gracias por dedicar un poco de tu tiempo a poner un comentario, entiendo que te refieres a que en el excel cuando un pedido contiene varios articulos se generan varias filas con el mismo importe total, por ejemplo si el pedido contiene 5 productos, si te fijas en la columna “item” del excel, te aparecen 5 filas correspondientes a la misma orden de compra , en la columna item veras 1, 2, 3, 4 y 5. Al exportar el excel te ha exportado las “child orders”, es decir, te va poniendo los importes de la orden en total pero multiplicada 5 veces, una por cada producto que tenia el pedido. Si haces un sumatorio de los importes los números no te van a cuadrar. Para solucionarlo lo unico que tienes que hacer es marcar la casilla “Don´t export child orders” que se encuentra en la sección “Filter by order” , esta al principio de la columna de la derecha arriba del todo. Confirmame si es ese tu problema.