Por qué el 3.5% no va como línea en la factura Para el CEO
El 7% es un impuesto del cliente que Roof Squad solo recolecta — por eso se muestra. El 3.5% es un impuesto de Roof Squad (grava nuestros ingresos como contratista) — la ley exige que viaje adentro del precio.
1Lo prohíbe el DOR, textual
"This tax… cannot be broken out as a separate line item" en la factura al cliente. Es tax del contratista, "not passed on to the customer except as part of overhead costs".
Booklet MDOR 2022, §F.2 (pág. 155)
2Tax sobre tax → multa
El 3.5% grava el total recibido, incluida la línea que agregues. Si cobras "+3.5%" y no pagas tax sobre esa línea, subpagas → deficiencia con multa del 10% + intereses.
Reg. 35.IV.10.01 ¶208
3Dinero etiquetado "tax" es del estado
Todo lo que se cobre al cliente presentado como impuesto debe remitirse íntegro al DOR. No puede quedar como margen ni "colchón".
Ley de sales tax de MS
4Mala señal comercial
Los clientes comerciales conocen la regla (así descubrimos el 3.5%: un cliente reclamó el 7%). Una línea de tax en un contrato calificado se lee como error del contratista.
Caso real, ago-2026
Lo que SÍ se hace para que el cliente lo sepa: en la cotización, línea informativa "MS Sales Tax (7%): $0 — Not applicable" + texto de contrato calificado; en el contrato, cláusula en general conditions; en la factura, nota al pie con el número de MPC (texto, nunca un monto cobrado). El MPC es el comprobante oficial del DOR de que el contrato está al 3.5% — mejor evidencia que cualquier línea.
La regla en 10 segundos
RESIDENCIAL · cualquier monto
Casas, duplex, triplex
7% sales tax
- Igual que hoy: línea de Tax en la factura
- 1 a 3 viviendas = residencial (reg ¶802: "apartment" exige 4+)
- Nunca cambia a 3.5%, ni arriba de $10K (reg 35.IV.04.08 ¶303)
- Precio = neto × 1.07
COMERCIAL · $10,000 o menos
Comercial chico
7% sales tax
- Igual que hoy: línea de Tax en la factura
- Sobre el precio completo (labor + materiales)
- El umbral compara el total del contrato
- Precio = neto × 1.07
COMERCIAL · MÁS de $10,000
Contractor's tax
3.5% del total, plano
- Sin línea de tax — va adentro del precio
- MPC antes de empezar obra · >$75K: bond o prepago
- Materiales del job sin 7% (con el MPC)
- Precio = neto × 1.0362694 (fórmula oficial del DOR)
Regla rápida de clasificación
Cuenta las viviendas: 3 o menos = Residencial · 4 o más = Comercial. Uso de negocio obvio (apartments, hotel, iglesia, self-storage, oficina, gobierno) = Comercial siempre, aunque ahí viva gente.
Los escenarios, simulados paso a paso
Cada paso indica quién lo ejecuta: VENTAS SALESFORCE QUICKBOOKS DOR CONTADOR ⚡ SLACK. Los pasos de Salesforce marcan si son automáticos AUTO (con la Fase 1 construida) o manuales MANUAL hoy.
E1Nunca cruza $10K (y todo lo residencial)
— exactamente como hoy, cero cambios
Firma
VENTASCotiza con el 7% adentro neto × 1.07. El total firmado fluye: Quote → Opp.Amount → SPS → Job.
Factura
SALESFORCEEl motor extrae el 7% y crea la línea de Tax en la invoice. AUTO (ya existe)
Libros
QUICKBOOKSLa línea Tax cae a la cuenta "Sales tax to pay" (pasivo); el income recibe solo el neto. AUTO (ya existe)
Día 20
DORReturn mensual en TAP; el pago sale del pasivo. El corte es por mes calendario: todo lo del mes (facturado el 15, cobrado el 18, lo que sea) va en el return de ese mes, pagado a más tardar el 20 del mes siguiente (ej. taxes de septiembre → 20 de octubre; fin de semana → siguiente día hábil). Nunca se remite dentro del mismo mes. Excepción: contratos >$75K con tax prepagado antes de la obra — esos ya no entran al ritmo mensual.
E2 · EL QUE PREGUNTASTENace al 7% y cruza $10K al mes siguiente
— job comercial $9,500 + change order de $5,500 en el día ~35
Día 0firma
VENTASContrato comercial por $9,500 (≤$10K → 7% correcto). Invoice #1 sale con línea de tax: neto $8,878.50 + tax $621.50. El cliente la recibe y la paga.
Día 20return
DOREl return del mes incluye esos $621.50 y se remiten. Este detalle importa abajo.
Día 35change order
SALESFORCESe crea el Change Order de +$5,500 → Updated Sales Price = $15,000 → cruza el umbral. El flow re-evalúa el régimen del Job al cambiar el precio y lo cambia a Contractor Tax. AUTO Fase 1
⚡ Slack → canal de accounting: "JOB-MS-xxxx cruzó $10K con 1 invoice emitida al 7% (pagada). Aplicar playbook de reclasificación."
Día 35
CONTADORMPC en TAP de inmediato (antes de ejecutar el trabajo del CO). Desde aquí los materiales restantes se compran sin 7%, y hay crédito por el 7% pagado en materiales previos del proyecto.
Día 35+
SALESFORCE¿Qué pasa con cada invoice? El sistema NO recalcula solo una factura ya enviada — la alerta pide acción y cada estado tiene su ruta:
SALESFORCEDraft (no enviada): apagar Apply_Taxes → el motor borra la línea y restaura los precios brutos solo — esto sí es recálculo automático. AUTO (motor actual)
SALESFORCEEnviada a QBO / al cliente, NO pagada: void + rebill sin línea (mecánica de void que ya existe). El total al cliente no cambia — solo desaparece el renglón de tax. MANUAL guiado por la alerta
SALESFORCEPagada (como la Invoice #1): el dinero no se toca — el cliente pagó $9,500 y sigue pagado. La corrección es solo contable (siguiente paso). Documento corregido al cliente = cortesía opcional.
Día 36
QUICKBOOKSReclasificación: se reversa el 7% interno Dr Sales tax to pay 621.50 / Cr Income 621.50 y se acumula el 3.5% sobre el contrato COMPLETO: JE: Dr Contractor's Tax Expense 525.00 / Cr MS Contractor's Tax Payable 525.00 (3.5% × 15,000).
Día 36
CONTADORComo los $621.50 ya se remitieron en el return del día 20 → se toma crédito en el siguiente return (o amended, a criterio del contador). Si el cruce hubiera pasado ANTES del día 20, era solo la reversa — sin trámite. Decisión del contador por caso
Resultado
QUICKBOOKSCliente pagó y pagará exactamente lo pactado ($9,500 + $5,500). Al DOR van $525 en vez de $1,050 (7% de todo) → RS termina quedándose $456 más que si todo hubiera seguido al 7%. Nadie pierde, excepto la complicación administrativa — por eso la meta es clasificar bien DESDE la cotización.
¿"Con cuánto tiempo se puede"? Lo único que importa es UNA pregunta: ¿ya le mandaste ese 7% al DOR, o todavía lo tienes tú? El 7% cobrado en septiembre se le manda al DOR el 20 de octubre. Entonces:
Caso A — el CO cruza ANTES del 20 de octubre (ej. 5-oct): los $621.50 todavía están en tu cuenta, sin remitir → el arreglo es un asiento interno que los regresa a ingreso. Cero trámite con el DOR.
Caso B — el CO cruza DESPUÉS del 20 de octubre (ej. 5-nov): los $621.50 ya se fueron en el return → no se pierden: el DOR los devuelve como crédito — el siguiente return se paga con $621.50 menos (o return corregido, a criterio del contador). Trámite, no multa.
Cómo se ejecuta el crédito del Caso B (contador, ~10 min en TAP): ① la reversa en QBO deja la cuenta "Sales tax to pay" con débito colgado de $621.50 (= el DOR me debe); ② en TAP: período de septiembre → Amend return → TAP recalcula → credit balance $621.50 a favor; ③ el return de octubre se paga neteado ($621.50 menos); ④ el pago neteado limpia el débito colgado y la cuenta cierra en cero. No es un cheque que se espera: es pagar menos el mes siguiente. (El crédito por 7% pagado en materiales pre-MPC se toma igual, contra la liability del return.)
¿Cómo valida el DOR que el crédito es real? La certificación de fondo la emitió el propio DOR: el MPC — al calificar el contrato, el DOR registró en su sistema que ese job pasó al régimen 3.5% (contratista, dueño, monto). El amend solo le recuerda su propio expediente; buena práctica: citar el MPC# en la corrección ("reclassified upon change order; MPC #___; 3.5% reported on full price"). Y la lógica lo cierra: no se borra impuesto, se cambia de bolsillo (recibió $621.50 de sales tax; recibe $525 de contractor's tax del mismo contrato — el crédito solo quita el doble). Expediente si llega carta: contrato + CO firmado + MPC + return original + return con el 3.5% pagado — todo existe en el flujo normal. Crédito aplicado al siguiente período fluye sin fricción; refund en efectivo sí lo revisan antes. Plazo para reclamar: ~3 años [CPA].
En ambos casos el cliente no paga ni recibe nada distinto, el 3.5% se calcula sobre el total nuevo completo, y el MPC se saca apenas cruza y antes de seguir la obra. No existe "fecha límite para reclasificar" — lo que existe es: MPC antes de continuar el trabajo, y que cada return del día 20 salga con los números correctos de su mes. Si pasan 6 meses en vez de 1, lo único que crece es cuántos returns viejos llevan 7% de ese job → más créditos que tramitar.
E3 · CASO REALNace arriba de $10K — Destiny Marisisch (firmado 27-ago)
— TPO Retrofit · $95,778.90 · self-storage = comercial
Firma
VENTASEstimate sin línea de tax, total $95,778.90. ⚠️ Se usó factor 1.035; el correcto es ×1.0362694 (RS absorbe $113.36 en este job — corregir el proceso).
Antes de obra
CONTADORMPC en TAP + como es >$75,000: bond o prepago del tax ANTES de comenzar (o tax rider sobre el performance bond). Materiales del TPO con el MPC = sin 7%. ⚡ Slack si el job queda sin MPC/bond marcado
Job
SALESFORCERégimen = Contractor Tax AUTO Fase 1 · Tax Expense del job = 3.5% × 95,778.90 = $3,352.26 MANUAL hoy (el flow viejo calcularía $6,266 — corregir)
Facturas
SALESFORCEApply_Taxes apagado → invoices con el total completo, sin línea, con nota + MPC# al pie. AUTO Fase 1
Libros
QUICKBOOKSInvoice: Dr AR / Cr Income 95,778.90 · JE: Dr Expense / Cr Payable 3,352.26.
Día 20
DORReturn mensual; el pago sale de la payable.
E4Baja de $10K
— CO cancelado o reducido
Al bajar
SALESFORCERégimen regresa a Sales Tax ⚡ Slack → re-encender Apply_Taxes en invoices abiertas (el motor recrea la línea del 7% solo) → reversar el JE del 3.5%. Si ya hubo pagos sin línea: ajuste contable, criterio del contador.
E5RS como SUB de un GC
— job comercial de un general contractor
Check
VENTAS¿El prime tiene MPC? → pedirlo. Con MPC del prime, RS no paga ni 3.5% ni 7% (el prime paga). Sin prime calificado → RS paga el 3.5% (>10K). Checklist por deal: ¿directo con el owner o sub?
La contabilidad, lado a lado Para el contador
Con el 7%, un solo documento (la invoice) hace el split porque la línea de Tax apunta al pasivo. Con el 3.5% son dos documentos: la invoice (revenue completo) y el Journal Entry (el gasto y la deuda). El efecto en el P&L es equivalente — solo cambia el vehículo, porque el 3.5% es un gasto nuestro, no dinero del cliente en tránsito.
7% — job Cavanaugh $26,536 (real)
DOC 1 · Invoice (hace todo)
Dr Cuentas por Cobrar 26,536.00
Cr Income (trabajo) 24,800.00
Cr Sales tax to pay 1,736.00
DOC 2 · Pago del return (día 20)
Dr Sales tax to pay 1,736.00
Cr Banco 1,736.00
3.5% — job Destiny $95,778.90 (real)
DOC 1 · Invoice (solo revenue, sin tax)
Dr Cuentas por Cobrar 95,778.90
Cr Income (trabajo) 95,778.90
DOC 2 · Journal Entry (el canal del gasto)
Dr Contractor's Tax Expense 3,352.26
Cr MS Contractor's Tax Payable 3,352.26
DOC 3 · Pago del return (día 20)
Dr MS Contractor's Tax Payable 3,352.26
Cr Banco 3,352.26
"¿Y cómo sé si la factura ya se pagó, si el JE se paga global?"
Porque son dos libros que nunca se mezclan — el JE no paga facturas ni las facturas pagan al DOR:
Libro 1 · El cliente (AR)
Invoice → payment del cliente → la invoice queda Paid. Exactamente igual que hoy, régimen 7% o 3.5%, no cambia nada. El estado de pago de cada factura vive aquí, factura por factura.
Libro 2 · El DOR (Payable)
Cada job Contractor acumula su 3.5% en la payable (JE con memo Job + MPC#). El pago del return del día 20 es global: cubre el saldo acumulado del mes. La conciliación job-por-job se hace contra el reporte de Salesforce (el Tax Expense de cada job) — no contra facturas.
El movimiento del banco, paso a paso (la conciliación)
Hay dos movimientos de banco distintos y ninguno de los dos se cruza con el otro. El truco: el pago al DOR nunca se relaciona a facturas — se relaciona a la cuenta payable, y la cuenta guarda la traza por job. Así funciona YA tu 7%: el pago mensual del sales tax al DOR tampoco se amarra factura por factura.
💵 ENTRA dinero — el cliente paga
Depósito del cliente
95,778.90
→ se aplica a la
INVOICE de Destiny
→ invoice queda
PAID ✓
Igual que siempre. El tax no participa aquí para nada.
🏛️ SALE dinero — pago al DOR (día 20, global)
Pago a MDOR
4,577.26
→ se aplica a la cuenta
MS Contractor's Tax Payable
→ el registro de esa cuenta lista los JE del mes:
JE · JOB Destiny · MPC#123
3,352.26
JE · JOB Lee Saleh · MPC#124
525.00
JE · JOB Gulf Cst · MPC#125
700.00
NO hay conciliación que reconstruir: el orden es al revés — el reporte de Salesforce "Tax Expenses del período" GENERA el monto del return, así que la lista de jobs existe ANTES del pago. Y al cerrar el return, los Tax Expenses del período se marcan Status = "Paid Out" + período en Salesforce (mismo patrón que los flags Incentive_Paid de comisiones) → cualquier día se abre un job y se ve si su 3.5% ya fue remitido y en qué return. El 3.5% queda MEJOR rastreado que el 7% actual (pocos jobs con JE nombrado vs 250+ facturas diluidas).
Decisión abierta del contador (timing): ¿el 3.5% se acumula cuando se factura o cuando se cobra? La ley apunta a "compensation received" (cobrado) en contratos bonded; Salesforce puede reportar ambos cortes. El contador elige la base y el JE mensual se arma con esa. Todo lo demás no cambia.
El flujo Salesforce → QuickBooks: hoy manual, luego automático
FASE MANUAL — funciona desde hoy, sin construir nada
- Ventas: cotizar sin 7%; total = neto × 1.0362694; nota "$0 sales tax" en el estimate.
- Contador: al firmar → MPC en TAP (antes de obra); >$75K → bond o prepago.
- Compras: MPC# a los proveedores → materiales sin 7%.
- SF · Job: corregir a mano el Tax Expense: 3.5% × contrato (el flow viejo calcula 7/107).
- SF · Invoice: verificar
Apply_Taxes apagado → total completo, sin línea.
- QBO: mandar la invoice con el botón de siempre.
- QBO · una vez: crear las 2 cuentas (Expense y Payable).
- QBO · mensual: reporte de SF → un JE del mes (Dr Expense / Cr Payable).
- DOR · día 20: return en TAP + pago desde la payable.
- Change order: recalcular el Expense a mano; el delta va al JE siguiente.
FASE AUTOMÁTICA — lo que se construye (Fase 1 + 2)
- Job: flow estampa el régimen solo (división + precio + config oficina). F1
- Invoice: nace sin línea si el régimen es Contractor — nadie toca nada. F1
- Sync a QBO: sin cambios — la invoice viaja igual que siempre. ya existe
- Tax Expense: 3.5% plano automático; se recalcula con cada change order. F1
- Memo con MPC# en la invoice de QBO. F1
- JE automático: al crearse/cambiar el Expense → JE en QBO por el monto o delta, con Id guardado para no duplicar. F2
- ⚡ Alertas Slack: cruce de umbral con invoices emitidas · >$75K sin bond/prepago · job Contractor sin MPC# · régimen bajó de $10K. F1
- Queda manual para siempre: los trámites con el gobierno — MPC/bond en TAP y el return mensual (ya con la cifra lista en la payable).
Comisiones: el tax nunca se le paga al rep
Verificado con los jobs pagados de MS: la comisión es 50% del Gross Profit, y el Gross Profit ya trae el tax restado como gasto del job (el Expense "Tax"). El rep cobra sobre la ganancia después de impuesto — hoy con el 7% y mañana con el 3.5%, misma mecánica.
Efecto del 3.5% en el rep: el tax expense comercial baja (3.5% plano en vez de 7/107) → el Gross Profit del job sube → la comisión sube sola, sin tocar el motor de comisiones. Ej. Destiny: tax expense $3,352 en vez de $6,266 → +$2,914 de profit para repartir.
Por eso el fix interino importa: mientras la Fase 1 no exista, el flow calcula el Tax Expense al 7/107 incluso en jobs Contractor → profit subestimado → comisión del rep corta. En Destiny serían ~$1,457 menos para el rep si no se corrige el Expense a mano.
Qué queda vivo (todo lo legal ya está cerrado)
Con el contador (sus archivos, no la ley)
1 · Base del JE mensual: ¿facturado o cobrado?
2 · Saldo de "Sales tax to pay" en QBO MS (~$135,974 ≈ el 7% histórico): ¿cómo se registran las remesas al DOR?
3 · Returns previos con 7% de jobs que crucen → crédito vs amended, por caso.
4 · Cuenta del gasto (COGS por job vs overhead) + wording contrato/factura.
5 · Compras de materiales: ¿se está pagando 7% de más en proveedores (MS o Louisiana)? Uso de MPC / resale / use tax return.
Con el DOR (solo si aparece el caso)
Mixed-use (local abajo + apartamentos arriba): el reglamento ¶803 dice que es discreción del Departamento separar la porción residencial → se consulta por proyecto al calificar el contrato. No bloquea nada hoy.
En Salesforce
Fase 1 lista para construir: 2 campos en Office, 3 en Job, 1 flow nuevo, 2 condiciones en flows existentes, fórmulas de Job, alertas Slack. Fase 2: JE automático. QuickBooks: solo crear 2 cuentas.