Pedir los datos fiscales en Checkout
Activa en la sesión la recogida del identificador fiscal y la de los nombres. Stripe muestra esos campos en su página de pago y Finseed lee lo que escribe el comprador. No necesitas vincular un Customer: los datos llegan también en un Checkout de invitado.tax_id_collection muestra el campo del identificador fiscal y el de la razón social. name_collection añade el nombre de la persona y mantiene los dos campos disponibles aunque el comprador no introduzca ningún identificador. La factura utiliza la razón social como nombre del destinatario y conserva el nombre de la persona.
Esta configuración obliga a todos los compradores. Con required: 'if_supported', quien pague desde un país cuyo tipo de identificador Stripe reconoce, España incluida, debe introducirlo para terminar la compra. Y name_collection marca cada nombre como obligatorio salvo que añadas optional: true, porque business.optional e individual.optional valen false por defecto.
Es la configuración correcta para un Checkout que solo utilizan empresas. Si el mismo flujo sirve también a particulares, consulta un mismo Checkout para empresas y particulares.
Finseed no lee los campos personalizados de Stripe. Si construyes la casilla de la razón social con custom_fields, ese texto no llega a la factura. Utiliza name_collection.
Stripe comprueba el formato durante el Checkout y valida los NIF-IVA europeos mediante el sistema VIES. La guía de Stripe Collect tax IDs in Checkout explica el comportamiento del campo.
Si vinculas un Customer que ya tiene un identificador fiscal guardado, Stripe no vuelve a mostrar el campo aunque tax_id_collection esté activado.
Enviar los datos fiscales desde tu integración
Si ya conoces al comprador, puedes indicar el destinatario mediante metadatos. En una sesión de Checkout, estos campos pertenecen al PaymentIntent. Añádelos mediantepayment_intent_data, no en los metadatos de la sesión.
ev_recipient_tax_id_type y ev_recipient_tax_id_country. La referencia de metadatos explica las reglas y los tipos admitidos.
De dónde toma Finseed el identificador fiscal y el nombre
Finseed busca el identificador fiscal en estas fuentes y utiliza la primera que lo aporta:ev_recipient_tax_iden los metadatos del PaymentIntent. Es una instrucción directa de tu integración y tiene prioridad sobre el resto.ev_recipient_tax_iden los metadatos del Customer de Stripe.- El campo
charge.billing_details.tax_iddel cobro. - El identificador que el comprador escribe en Checkout.
- Los
tax_idsguardados en el Customer de Stripe.
ev_recipient_name en los metadatos del PaymentIntent, del nombre que el comprador escribe en Checkout, del nombre del titular de la tarjeta y del perfil del Customer de Stripe. Si envías ev_recipient_name en los metadatos del PaymentIntent, ese nombre pasa a ser el nombre fiscal de la factura y sustituye a la razón social recogida.
Ventas intracomunitarias al 0 %
Una entrega intracomunitaria que cumple los requisitos fiscales a una empresa de otro país de la UE no lleva IVA español. El comprador declara el impuesto mediante inversión del sujeto pasivo. Finseed clasifica así la venta cuando recibe el NIF-IVA de otro país de la UE y la línea llega sin IVA cobrado. Stripe Tax produce ese resultado: cuando reconoce la operación a partir del comprador, el producto, el país y tu configuración fiscal, calcula un tipo del 0 % con el motivoreverse_charge. La factura identifica a la empresa y muestra su NIF-IVA.
Si la línea llega con IVA cobrado, Finseed factura ese IVA aunque el comprador haya aportado su NIF-IVA. Revisa la configuración fiscal de la sesión antes de dar por buena la exención.
Esta venta necesita además dos ajustes en Finseed. Sin ellos, el pedido queda retenido o rechazado aunque el Checkout haya recogido todos los datos.
- Indica si vendes bienes o servicios. Los bienes y los servicios siguen reglas distintas cuando el comprador está en otro país. Sin esa respuesta, Finseed retiene el pedido y te pide que la indiques. Elige tu caso en Configuración > Datos de facturación, dentro de Perfil fiscal. Consulta cómo clasificamos tus impuestos.
- Permite las facturas completas en la integración. Una factura simplificada no puede documentar una venta intracomunitaria a una empresa, sea cual sea el importe. Si la integración emite siempre facturas simplificadas, Finseed rechaza la venta. Elige Emitir factura completa cuando el destinatario aporta NIF, y simplificada en el resto de casos o Siempre emitir factura completa en facturas simplificadas y completas.
Un mismo Checkout para empresas y particulares
Un único flujo de Checkout puede servir a ambos tipos de comprador. Con la opción Emitir factura completa cuando el destinatario aporta NIF, y simplificada en el resto de casos, los particulares pueden omitir el identificador y las empresas pueden aportarlo. Si faltan otros datos obligatorios de la factura completa, Finseed retiene el pedido para que los completes. Para que un particular pueda terminar la compra, los campos deben ser opcionales. Retirarequired de tax_id_collection y añade optional: true a cada nombre:
- No añadas
ev_tax_rateyev_tax_nameen un flujo que puedan utilizar empresas. Ese par tiene prioridad sobre el resultado de Stripe Tax y aplica un único tipo a todas las líneas. Finseed ignoraría el tratamiento de inversión del sujeto pasivo calculado por Stripe Tax. Consulta impuestos en Checkout y Payment Links. - Separa las compras empresariales y particulares en distintos Customers de Stripe. Un Customer con un NIF-IVA guardado lo aporta en las compras posteriores. Stripe tampoco vuelve a mostrar el campo cuando ya existe uno. Si alguien compra a título personal con el Customer de una empresa, Finseed reutiliza los datos fiscales de esa empresa.