Pulsa ESC para cerrar

Curso WordpressCurso Wordpress

Costo de los productos en WooCommerce: registra cuánto te cuesta cada uno y mira tu margen real

El panel de WooCommerce te dice cuánto vendiste. Pero si una polera se vende a $24.990 y te cuesta $11.200 con IVA y despacho incluidos, lo que importa es el margen. Sin registrar el costo, no sabes qué productos te dejan dinero y cuáles solo movimiento.

El campo nativo en versiones recientes

Las versiones recientes de WooCommerce incorporan un campo de costo de los bienes vendidos (en inglés, «cost of goods sold») en la pestaña General de cada producto. Si no lo ves:

  1. Ve a WooCommerce → Ajustes → Avanzado → Funcionalidades.
  2. Busca la opción del costo de los productos y actívala, si aparece en tu versión.

Cuando está disponible, WooCommerce guarda el costo junto al producto y lo usa en el pedido.

Como es una funcionalidad nueva, su alcance (informes, variaciones, importación por CSV) depende de la versión. Revisa las notas de la versión que tienes instalada. Si tu tienda no la tiene todavía, el mu-plugin de abajo cumple la función.

Un mu-plugin para cualquier versión

Agrega un campo Costo en la ficha de cada producto (y en cada variación), y una columna Margen en la lista de productos. Guárdalo como wp-content/mu-plugins/cwp-costo.php:

<?php
/**
 * Plugin Name: Costo y margen de productos (Curso WordPress)
 */

// 1. Campo en productos simples.
add_action( 'woocommerce_product_options_pricing', function () {
	woocommerce_wp_text_input( array(
		'id'          => '_cwp_costo',
		'label'       => 'Costo (' . get_woocommerce_currency_symbol() . ')',
		'data_type'   => 'price',
		'desc_tip'    => true,
		'description' => 'Lo que te cuesta el producto: compra, impuestos no recuperables y embalaje.',
	) );
} );
add_action( 'woocommerce_admin_process_product_object', function ( $producto ) {
	if ( isset( $_POST['_cwp_costo'] ) ) {
		$producto->update_meta_data( '_cwp_costo', wc_format_decimal( wp_unslash( $_POST['_cwp_costo'] ) ) );
	}
} );

// 2. Campo en variaciones.
add_action( 'woocommerce_variation_options_pricing', function ( $i, $datos, $variacion ) {
	woocommerce_wp_text_input( array(
		'id'            => "_cwp_costo_var_{$i}",
		'name'          => "_cwp_costo_var[{$i}]",
		'value'         => get_post_meta( $variacion->ID, '_cwp_costo', true ),
		'label'         => 'Costo',
		'data_type'     => 'price',
		'wrapper_class' => 'form-row form-row-first',
	) );
}, 10, 3 );
add_action( 'woocommerce_save_product_variation', function ( $id, $i ) {
	if ( isset( $_POST['_cwp_costo_var'][ $i ] ) ) {
		update_post_meta( $id, '_cwp_costo', wc_format_decimal( wp_unslash( $_POST['_cwp_costo_var'][ $i ] ) ) );
	}
}, 10, 2 );

// 3. Columna de margen en la lista de productos.
add_filter( 'manage_edit-product_columns', function ( $columnas ) {
	$columnas['cwp_margen'] = 'Margen';
	return $columnas;
} );
add_action( 'manage_product_posts_custom_column', function ( $columna, $id ) {
	if ( 'cwp_margen' !== $columna ) {
		return;
	}
	$producto = wc_get_product( $id );
	$costo    = (float) $producto->get_meta( '_cwp_costo' );
	$precio   = (float) wc_get_price_excluding_tax( $producto );
	if ( ! $costo || ! $precio ) {
		echo '—';
		return;
	}
	$margen = ( $precio - $costo ) / $precio * 100;
	printf( '<span style="color:%s">%s%%</span>', $margen < 20 ? '#b91c1c' : '#15803d', esc_html( number_format_i18n( $margen, 0 ) ) );
}, 10, 2 );

El margen se calcula sobre el precio sin IVA, porque el IVA no es tuyo: lo traspasas al fisco. Por eso registra también el costo sin IVA (el neto de tu factura de compra). Si mezclas un costo con IVA y un precio sin IVA, el margen sale más bajo de lo real.

Los productos con margen bajo el 20% aparecen en rojo. Ajusta ese número a tu negocio.

En productos variables, la columna muestra el margen del producto principal. Para ver el de cada variación, revisa cada una en la pestaña Variaciones, o exporta el catálogo a una planilla.

Qué hacer con el dato

  • Ordena por margen los productos que más vendes: un producto muy vendido con margen bajo puede estar trabajando gratis.
  • Revisa los descuentos: un cupón del 30% sobre un producto con margen del 35% casi no deja nada.
  • Incluye todo en el costo: embalaje, comisión de la pasarela de pago y, si lo absorbes, el envío.

¿Sabes cuál es el margen de tus productos más vendidos? Cuéntanos en el foro si te llevaste alguna sorpresa al calcularlo.