Skip to main content

Send Fattutto Receipt Action

The Send Fattutto Receipt action creates and sends a fiscal receipt (commercial document) to the Italian tax authority via the Fattutto integration

Written by Jerome Bajou
Updated over 2 weeks ago

Overview

The Send Fattutto Receipt action creates and sends a fiscal receipt (commercial document) to the Italian tax authority via the Fattutto integration. It calculates the paid amount from booking transactions, generates the receipt through the Fattutto API, and optionally transmits it to the Agenzia delle Entrate (AdE).

This action requires the Fattutto app to be installed on your account and costs 1 workflow credit per execution.

Available to operators having access to the workflow system and App Store, in the Italian market.


Configuration

Booking ID (Required)

The ID of the booking to issue a receipt for. You can use a variable reference like {booking.id} to pull the booking from the workflow context.

Transaction ID (Optional)

The ID of a specific transaction on the booking. When provided, the receipt is issued for this specific transaction. When omitted, the receipt covers the net sum of all transactions on the booking, including refunds.

  • If the selected transaction is a refund, the action is skipped.

  • Tips are always excluded from the receipt amount.


Output

The action returns a fattutto object in the workflow context with the following variables:

Copy

Variable

Description

{fattutto.sent}

Whether the receipt was successfully sent (true / false)

{fattutto.skipped}

Whether the action was skipped (true / false)

{fattutto.reason}

The reason for skipping (e.g. “Transaction is a refund”), or empty

{fattutto.booking_id}

The booking ID used

{fattutto.paid_amount}

The computed paid amount (excluding tips)


Examples

1. Receipt for all transactions on a booking

Booking ID: {booking.id} 
Transaction ID: (leave empty)

The action sums all transactions on the booking — including refunds — and issues a receipt for the net total, minus tips.

2. Receipt for a specific transaction

Booking ID: {booking.id} 
Transaction ID: {transaction.id}

The receipt is issued for the amount of the specified transaction only, minus its tip.

3. Booking with a partial refund

Booking ID: {booking.id} 
Transaction ID: (leave empty)

If the booking has a €100 payment and a €30 refund, the receipt is issued for €70 (the net total).


How It Works

  1. Resolves the booking and (optionally) the transaction from the workflow context.

  2. Verifies the Fattutto app is installed — skips if not.

  3. Checks the booking’s product has a VAT rate configured.

  4. Computes the paid amount:

    • With a Transaction ID: uses that transaction’s amount minus its tip. Skips if the transaction is a refund.

    • Without a Transaction ID: sums all transaction amounts (payments and refunds) and subtracts all tips.

  5. Skips if the computed amount is zero or negative.

  6. Creates a commercial document in Fattutto with the correct VAT rate and payment terms.

  7. Dispatches an asynchronous job to send the document to the Agenzia delle Entrate (if configured).


When the Action Skips

The action gracefully skips (without failing the workflow) in these cases:

Copy

Condition

Reason

Fattutto app is not installed

”Fattutto app is not installed”

The selected transaction is a refund

”Transaction is a refund”

The computed paid amount is zero or negative

”No payable amount”

You can use the {fattutto.skipped} and {fattutto.reason} output variables in downstream conditions to handle these cases.


Prerequisites

  1. The Fattutto app must be installed on your account.

  2. The booking’s product must have a VAT rate configured.

  3. The Fattutto Domain ID and Commercial Document ID must be set in your app parameters.


Best Practices

  1. Use the Transaction ID for payment-triggered workflows — when a workflow fires on a new payment, pass {transaction.id} so each payment gets its own receipt.

  2. Omit the Transaction ID for booking-level workflows — when a workflow fires on booking completion, leave the field empty to issue a single receipt for the net total.

  3. Check skip conditions downstream — use a condition node on {fattutto.skipped} to handle cases like refunds or missing configuration gracefully.

  4. Ensure VAT rates are set — the action will fail if the booking’s product does not have a VAT rate. Configure VAT rates on your products before enabling this workflow.

Did this answer your question?