, ,

Plan de cuentas para comercio electrónico: cómo evitar tomar malas decisiones de mapeo

Plan de Cuentas para E-commerce

Aceptas un nuevo cliente de Shopify. Creas su plan de cuentas en QuickBooks Online: cinco categorías, subcuentas lógicas, numeración de cuentas que sigue la convención estándar. Conectas la integración de Shopify. Todo parece correcto sobre el papel.

Entonces llega el primer pago de Shopify.

Shopify depositó 14.200 $ en el banco. QuickBooks muestra 15.800 $ de ingresos de Shopify. El panel de control de Shopify informa 16.100 $ de ventas brutas. Tres cifras diferentes, la actividad del mismo mes, ninguna coincide. Pasas cuatro horas persiguiendo la diferencia. Finalmente la encuentras: comisiones registradas como transferencias bancarias, devoluciones que no se publicaron en las cuentas correctas, un importe de recaudación de impuestos que figura como ingreso en lugar de como pasivo. El plan de cuentas no tenía nada que faltara. Simplemente no estaba diseñado para la forma en que Shopify mueve el dinero en realidad.

Aquí está la suposición falsa sobre la que se basan la mayoría de las guías de plan de cuentas: si tienes las cuentas correctas en las categorías correctas, la conciliación funcionará; es solo cuestión de hacer el trabajo cada mes. Eso no es cierto para Shopify. Los nombres y la numeración de las cuentas son lo básico. Lo que determina si tus libros de Shopify concilian es si el plan de cuentas es arquitectónicamente compatible con la forma en que Shopify desembolsa los fondos, como un pago neto, no como ingresos brutos. Cinco decisiones específicas de mapeo determinan si el cierre de mes lleva 30 minutos o la mayor parte de una tarde.

DIFERENCIA HORARIA

4 horas

vs. 30 minutos — mismo cierre de mes

La diferencia no es la cantidad de trabajo que haces. Es si el plan de cuentas se diseñó para recibir correctamente el pago neto de Shopify en primer lugar.

El plan de cuentas que parece correcto hasta el cierre de mes

La mayoría de las plantillas de planes de cuentas estándar, incluso las específicas para comercio electrónico, se basan en la suposición de que los ingresos llegan como ingresos brutos. Una venta de 100 $ se registra como 100 $ de ingresos. Las comisiones se registran cuando las pagas. Así es como funcionan la mayoría de las empresas.

Shopify no funciona así.

Shopify no te envía 100 $ cuando un cliente paga 100 $. Te envía un pago neto: ventas brutas menos comisiones de procesamiento de pagos, menos devoluciones, menos comisiones de transacción de Shopify, a veces menos impuestos sobre las ventas recaudados en tu nombre, todo agrupado en una única transferencia bancaria que cubre entre uno y catorce días de pedidos. Para cuando ese pago llega a la cuenta bancaria de tu cliente, representa al menos cinco eventos financieros distintos. Tu plan de cuentas debe recibir y desagregar los cinco, o la conciliación fallará cada mes.

Las cuentas no están mal. La arquitectura sí.

Por qué la estructura de pago neto de Shopify es el problema arquitectónico

Aquí tienes lo que contiene realmente un pago típico de Shopify, desglosado como partidas:

  • Ventas brutas — ingresos brutos de todos los pedidos del período de liquidación
  • Comisiones de procesamiento de pagos — normalmente el 2,9 % + 0,30 $ por transacción en línea para Shopify Payments (plan Básico); se deducen antes del desembolso
  • Comisiones de transacción de Shopify — un 2 % adicional por transacción si la tienda no utiliza Shopify Payments; común en planes más antiguos
  • Reembolsos emitidos — reembolsos brutos de pedidos devueltos en el período de liquidación
  • Impuesto sobre las ventas facilitado por el mercado — importes que Shopify ha recaudado y remitirá directamente a las autoridades estatales en nombre del comerciante (en la mayoría de los estados de EE. UU., Shopify es el facilitador del mercado)

Cuando su integración asigna el depósito directamente a una cuenta de ingresos de “Ventas de Shopify”, está reduciendo los cinco eventos a un solo número. Los ingresos están infravalorados porque las comisiones ya se dedujeron. Los gastos de comisiones son invisibles. El balance arrastra un pasivo fiscal fantasma porque registró la recaudación de impuestos como ingresos.

La solución no es limpiar después del hecho mes tras mes. Es construir el plan de cuentas para que cada componente se dirija automáticamente a la cuenta correcta, y una cuenta de compensación los conecte de nuevo al depósito bancario. Eso requiere cinco decisiones específicas. El coste posterior de equivocarse con ellas es el tiempo que su empresa anula en los encargos de comercio electrónico.

Decisiones 1 y 2: Cuentas de ingresos brutos y cuenta de compensación

Decisión 1: Registrar las ventas brutas como ingresos, no como importe del depósito.

Your income accounts should reflect what customers actually paid — before Shopify deducts anything. Create separate income accounts for each sales channel (Shopify sales, WooCommerce sales, wholesale revenue) rather than a single “e-commerce sales” bucket. Once you combine Shopify and Amazon revenue into one account, you lose per-channel margin visibility, and there’s no practical way to recover it without rebuilding the books.

Una sección de ingresos limpia para un cliente solo de Shopify se ve así:

  • 4100 — Ventas de Shopify (brutas, antes de deducciones)
  • 4110 — Ingresos por envíos de Shopify (si se cobran envíos a los clientes)
  • 4200 — Devoluciones y bonificaciones (ingresos contra)

Las cuentas de ingresos registran lo que se vendió. El depósito bancario refleja lo que se pagó después de las deducciones. Esos dos números son estructuralmente diferentes y su plan de cuentas necesita una cuenta que los conecte.

Decisión 2: Utilizar una cuenta de compensación como puente.

La cuenta de compensación es la solución arquitectónica para el problema del pago neto: crédito de ventas brutas entrante, débitos de comisiones/reembolsos/impuestos salientes, el depósito bancario neto coincide exactamente. La cuenta de compensación se cierra a cero en cada ciclo de liquidación. La conciliación se vuelve mecánica, no de investigación.

Cuando se registra una venta, el importe bruto se registra en la cuenta de ingresos de Ventas de Shopify y en la cuenta de compensación como un activo. Cuando Shopify desembolsa el pago neto, la cuenta de compensación recibe las deducciones (comisiones, reembolsos, impuestos) y se vacía a cero. El depósito bancario coincide exactamente con el pago neto. Cada componente aterriza en la cuenta correcta.

Sin la cuenta de compensación, intentas conciliar un depósito bancario que no coincide con ninguna cuenta de QBO individual, porque no se supone que coincida con ninguna cuenta individual. Es el neto de cinco eventos financieros. Cada contable que ha pasado una noche haciendo una conciliación de Shopify sin una sabe exactamente cómo se siente.

Crea una cuenta de compensación por cada procesador de pagos. Si tu cliente usa Shopify Payments y PayPal, son dos cuentas de compensación. Mezclarlas recrea el mismo problema de desajuste a nivel de compensación que intentas resolver a nivel de ingresos.

How these two decisions get enforced: product mappings.

Decisions 1 and 2 only hold if the software posting into QBO respects them, and mappings are where that happens. The sequencing rule comes straight from LedgerPort’s own setup docs: build the chart of accounts first, then map. LedgerPort maps to your existing QuickBooks accounts — it doesn’t create accounts behind your back — so the structure you design in this article is the structure the sync respects.

LedgerPort product mapping screen with the QuickBooks Item dropdown open, selecting which QBO item a Shopify product will post to
Each product picks its QuickBooks item — and with it, the income account from Decision 1. Full walkthrough: Guide to Mapping Products from Shopify to QuickBooks →

The mapping screen is also where you set revenue granularity. Every product maps to a QBO item, and every item carries an income account. Point many products at one item and you get the simple variant of this template — a single Shopify Sales account. Map products individually and you get per-SKU revenue, plus COGS posting on Inventory-type items. It’s the same decision as “one Sales account vs. per-line revenue accounts,” surfaced as a dropdown.

Two details make this workable in practice. First, the failure mode is safe: an order containing an unmapped product errors with a named status — “Product Not Mapped” — and holds instead of posting to a wrong account, so the template can’t be silently violated. Second, the setup isn’t a week of dropdown clicking: Auto-Map matches Shopify products to QBO items by SKU or name in one click, flags the results for review, and leaves only the misses for manual mapping.

Decisiones 3 y 4: Separación de comisiones y gestión de devoluciones

Decisión 3: Las comisiones de Shopify no son un solo elemento.

Three distinct fee types appear in Shopify payouts. Collapsing them into one “Shopify Fees” account loses meaningful visibility into where margin is going:

COMISIÓN DE SUSCRIPCIÓN

Fija

29-399 $/mes de comisión de plataforma; no relacionada con el volumen de transacciones

COMISIÓN DE TRANSACCIÓN

0,5-2 %

Solo se cobra si NO se usa Shopify Payments; desaparece al cambiar

COMISIÓN DE PROCESAMIENTO

2.9% + $0.30

Por transacción; la categoría de comisión más grande; reduce directamente el margen bruto

Una estructura de comisiones limpia en QBO:

  • 6100 — Suscripción Shopify
  • 6110 — Comisiones de transacción de Shopify
  • 6120 — Comisiones de procesamiento de pagos

Agrupar las tres en una sola cuenta es la forma en que los contables heredan libros donde una erosión del margen del 3 % por el procesamiento de pagos es invisible, hasta que alguien pregunta por qué el margen bruto es menor de lo que predice el modelo de precios. Separarlas no cuesta nada al configurarlas y ahorra tiempo en cada revisión posterior.

Decisión 4: Las devoluciones se registran contra el pago, no contra el pedido original.

Cuando un cliente devuelve un pedido, Shopify deduce el reembolso del próximo pago disponible. No crea una transacción bancaria separada; reduce la cantidad neta del desembolso. La cuenta contra-ingresos para Devoluciones y Bonificaciones debe recibir la entrada del reembolso en el momento del pago que lo contiene, no en el momento en que se procesó la devolución.

Si una devolución se procesó en marzo pero el reembolso apareció en el pago de abril, la entrada contra-ingresos pertenece a abril. Registrarla en marzo crea un desajuste de período: los ingresos de marzo disminuyen, pero la conciliación bancaria de marzo todavía no cuadra porque el efecto en efectivo no ocurrió en marzo. Los desajustes de período se acumulan mes a mes hasta que los libros requieren una limpieza completa para desenredar.

Decisión 5: El impuesto sobre las ventas como pasivo desde el primer día

En la mayoría de los estados de EE. UU., Shopify es un facilitador del mercado, lo que significa que Shopify recauda el impuesto sobre las ventas de los clientes y lo remite directamente a las autoridades fiscales estatales. El comerciante nunca toca ese dinero. El comerciante no adeuda el impuesto; Shopify ya lo pagó.

El impuesto sobre las ventas que Shopify recauda aparece en los totales brutos de los pedidos en el panel de control de Shopify, pero nunca fluye a la cuenta bancaria del comerciante y no son ingresos del comerciante. Si tu cuenta de ingresos registra los totales brutos de los pedidos, incluido el impuesto, estás exagerando los ingresos y creando un pasivo fantasma en el balance.

La configuración correcta requiere dos cuentas de pasivo:

  • Impuesto sobre las ventas a pagar: para impuestos que el comerciante recauda y remite directamente (canales que no son de mercado, como venta al por mayor, o estados donde no se aplican las reglas del facilitador del mercado).
  • Impuesto retenido por el mercado (o “Impuesto recaudado por Shopify”): para impuestos que Shopify recauda y remite en nombre del comerciante; se compensa a cero después del ciclo de pago porque la obligación se extingue por la remesa de Shopify, no por la del comerciante.

Si su cliente vende a través de múltiples canales — Shopify, sitio web directo, venta al por mayor — el tratamiento fiscal difiere según el canal. Una única cuenta de “Impuesto sobre las ventas a pagar” no puede distinguir entre el impuesto gestionado por Shopify y el impuesto gestionado por el comerciante, y esa distinción es importante a la hora de declarar impuestos.

In LedgerPort, Decision 5 ships as a setting rather than a monthly discipline. The Taxes tab of the sync configuration has a Line Item Tax option: platform-collected tax posts as its own line on the QuickBooks transaction, routed to a liability account you pick from a dropdown. “Tax is a liability, not income” stops being a rule someone has to remember and becomes the only way the sync can post.

LedgerPort sync configuration Taxes tab showing the Tax Rounding and Line Item Tax cards, with the picker for the QuickBooks liability account where tax posts
Decision 5 as a form field: pick the liability account, and tax can never land in revenue. WooCommerce plugin shown — the Shopify app exposes the same tax settings. Full walkthrough: Managing the Sync Configuration in LedgerPort →

The same tab holds the detail nobody explains: tax rounding. The platform’s tax math and QuickBooks’ tax math disagree by a cent or two on some orders, and without a home for those cents the books drift a few cents per order into an unreconcilable smear. The Tax Rounding setting adds a rounding-adjustment line item that absorbs the difference — which is why the books tie to the cent instead of “close enough.” Close enough doesn’t close.

El plan de cuentas que cierra en un día

Cuando las cinco decisiones están en vigor, los cierres de fin de mes se ejecutan de la siguiente manera: cada pago de Shopify pasa por la cuenta de compensación. Ingresos brutos de ventas. Comisiones de procesamiento de pagos, reembolsos e impuestos del mercado en débito. El depósito bancario neto se registra. La cuenta de compensación se cierra a cero. La conciliación bancaria cuadra — por construcción, no por investigación.

Ese es un proceso de 20 minutos. La diferencia no es el volumen de trabajo, sino si el plan de cuentas fue diseñado para recibir los datos correctamente.

La inversión inicial es real. Construir esta arquitectura correctamente para un nuevo cliente lleva de dos a tres horas la primera vez — más tiempo que copiar una plantilla genérica. Pero la alternativa es pasar esas horas, o más, cada mes, indefinidamente.

Para los CPA que gestionan cinco o diez clientes de Shopify, esta arquitectura es la base de una plantilla repetible. Las mismas cinco decisiones se aplican a cada tienda de Shopify en QBO. Construyéndola correctamente una vez, la aplicará en toda la práctica — no tendrá que volver a aprender el problema con cada nuevo compromiso.

One more decision: the sync method that will post into these accounts

A chart of accounts isn’t finished when the accounts exist. It’s finished when you’ve decided what kind of transaction will post into them. In a sync tool, that decision has a name: the sync method. In LedgerPort it’s one dropdown — Sync Config » Orders » Sync Method, reached from the left sidebar of the app — with five options, and each option asks something different of the chart you just built.

LedgerPort Sync Config Orders tab with the Sync Method dropdown open, showing all five options: Sales Receipt, Invoice, Estimate, Daily Summary, and Tag-Based
Five transaction shapes, one dropdown — each posts into the chart of accounts differently. Full walkthrough: Understanding Order Sync Methods →
  • Sales Receipt — one receipt per order, with line items, taxes, shipping, and discounts, posting into income and the clearing account. No receivables required.
  • Invoice — two records per order: the Invoice when it’s placed, a Payment when Shopify marks it paid. Choose this and your chart needs open receivables.
  • Estimate — a non-posted record; it touches nothing until converted. The docs are blunt about how rare this is: “If you are unsure whether you need it, you probably do not.”
  • Daily Summary — one journal entry per day aggregating all of that day’s orders. Selecting it exposes account-mapping fields right below the dropdown.
  • Tag-Based — Shopify order tags route orders to different transaction types (wholesale → Invoice, retail → Sales Receipt, do-not-sync → skipped), so a mixed retail/wholesale store may need both receivables and receipt-side accounts.

Look closely at what Daily Summary does: the moment you select it, the software asks you to name the accounts its daily journal entry will post to. Those mapping fields are this article’s five decisions, rendered as form fields — gross revenue, clearing, fees, refunds, tax. If you built the chart above, you fill them in one pass. If you didn’t, this is the screen where that becomes obvious.

Daily Summary account-mapping fields in LedgerPort, shown below the Sync Method dropdown, asking which QuickBooks accounts the daily journal entry should post to
Select Daily Summary and the software asks for your chart of accounts by name. Full walkthrough: Understanding Order Sync Methods →

The decision logic is short. Standard DTC store, paid at checkout: Sales Receipt — the docs’ own default, “the right starting point for most stores.” B2B or payment terms: Invoice. High volume — roughly 100 or more orders a day — with an accountant who works from totals: Daily Summary, which is how a 3,000-order month becomes ~30 journal entries instead of 3,000 records.

And the rule that makes this decision safe: changing the sync method never rewrites orders that have already synced. It applies going forward only. Pick a method, watch a payout cycle post through the clearing account, and revisit if the shape is wrong — the books you’ve already closed stay closed.

LedgerPort maneja el mapeo automáticamente: la sincronización registra las ventas brutas, las líneas de comisiones, los reembolsos y los impuestos recaudados por el mercado en sus cuentas correctas en cada ciclo de pago, por lo que la cuenta de compensación se cierra sin intervención manual. El plan de cuentas aún necesita estar estructurado correctamente para recibir esos datos, pero las cinco decisiones anteriores le dan exactamente esa estructura.

Si está configurando un nuevo cliente de Shopify en QBO — o heredando libros que no concilian — estos son los cinco lugares donde debe mirar primero. Si alguna de las decisiones anteriores no se tomó, ahí es de donde provienen las cuatro horas de conciliación. Tener el plan de cuentas correcto también es la base para tener libros listos para impuestos cuando su CPA se los pida — las mismas cinco decisiones que hacen que el cierre de mes sea limpio hacen que el cierre de año sea sencillo. Vea cómo LedgerPort maneja el mapeo en una práctica con múltiples clientes en ledgerport.com/cpas, o comience gratis.

Deja de Introducir Datos Manualmente Para Siempre

Conecta tu tienda con QuickBooks en 15 minutos y deja que LedgerPort se encargue del resto.

Empezar Gratis Ver precios →

Conectemos:

Automatiza Tu Contabilidad de E-commerce Hoy Mismo

Conecta tu tienda Shopify o WooCommerce con QuickBooks en menos de 15 minutos, sin necesidad de código.

Garantía de devolución de 14 días · Plan gratuito disponible