Skip to main content
Cuando una operación requiere una factura completa, esta debe incluir la razón social y el identificador fiscal del destinatario. Puedes pedir esos datos al comprador en la página de Checkout o enviarlos desde tu integración. Recoger el identificador es solo la primera parte. La configuración de la integración decide si Finseed emite una factura completa al recibirlo. Consulta facturas simplificadas y completas.

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 mediante payment_intent_data, no en los metadatos de la sesión.
Finseed combina el nombre y el email con los datos disponibles en Stripe. La dirección y el identificador fiscal funcionan como bloques separados: si envías uno de ellos mediante metadatos, incluye allí todos sus datos. Para un documento extranjero, recomendamos indicar tambié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:
  1. ev_recipient_tax_id en los metadatos del PaymentIntent. Es una instrucción directa de tu integración y tiene prioridad sobre el resto.
  2. ev_recipient_tax_id en los metadatos del Customer de Stripe.
  3. El campo charge.billing_details.tax_id del cobro.
  4. El identificador que el comprador escribe en Checkout.
  5. Los tax_ids guardados en el Customer de Stripe.
El nombre del destinatario sigue un orden propio. La razón social procede de la que el comprador escribe en Checkout. El nombre de la persona procede, por este orden, de 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 motivo reverse_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. Retira required de tax_id_collection y añade optional: true a cada nombre:
Sigue además estas dos reglas:
  • No añadas ev_tax_rate y ev_tax_name en 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.