FatturaPA Invoice Generator avatar

FatturaPA Invoice Generator

Pricing

from $10.00 / 1,000 invoice generateds

Go to Apify Store
FatturaPA Invoice Generator

FatturaPA Invoice Generator

Generate FPR12 or FPA12 FatturaPA 1.2.3 XML with advanced tax, reference, payment, and attachment support plus offline SdI technical checks.

Pricing

from $10.00 / 1,000 invoice generateds

Rating

0.0

(0)

Developer

Kamer Ozkan

Kamer Ozkan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Strict JSON in. A generated and technically validated FatturaPA FPR12 / FPA12 1.2.3 artifact out.

The Actor calculates totals with decimal arithmetic, generates the target invoice, runs an independent pinned validation stack, stores only accepted artifacts, and returns a SHA-256 evidence record. A rejected artifact is not delivered or charged under pay-per-event pricing.

Input

Use invoice for one document or invoices for a batch of up to 100. Amounts and quantities must be JSON strings such as "19.00", not floating-point numbers. The input schema exposes the complete production v1 canonical model and the strict product extension. Unknown fields are rejected instead of being silently ignored.

Production v1 capabilities

  • Generate FPR12 and FPA12 documents for TD01, TD04, and TD05 scenarios.
  • Support withholding, stamp duty, social-security funds, line and document adjustments, Natura, VAT collectability, linked references, and line metadata.
  • Reconcile multi-installment payment schedules and embed safety-checked attachments.
  • Run the pinned compatibility XSD and independent offline SdI cross-field checks.

Required product context

FPR12 uses a seven-character recipient code and FPA12 uses six. Seller VAT ID and buyer VAT ID or tax ID are required.

Output

Each dataset row contains the technical assessment, artifact key, evidence key, hash, byte count, generator version, standard version, pinned ruleset, and bounded findings. The artifact and evidence JSON are private key-value store records.

For pay-per-event deployment, configure invoice-generated at exactly USD 0.01 and keep the synthetic apify-default-dataset-item event at USD 0. The synthetic apify-actor-start event may have any nonnegative configured price; every other event must remain free. The runtime refuses hosted non-PPE runs and unsafe event maps before reading input. Local non-PPE execution remains available for offline tests. A paid run charges only an artifact that was validated, stored, and delivered.

How much does it cost?

You pay $0.01 per generated invoice that passed validation and was delivered, plus the Apify Actor start event of $0.00005 (counted per GB of run memory as Apify defines it, a fraction of a cent per run). Invoices that end in NEEDS_INPUT or fail generation or validation are not charged.

Worked example: one batch run with 100 invoices costs 100 x $0.01 = $1.00 plus the start event. A single invoice in its own run costs $0.01 plus the start event. Batching up to 100 invoices per run keeps the start fee negligible.

How to generate a FatturaPA invoice

  1. Open the Actor and click Try for free. The example input is a complete FPR12 TD01 invoice.
  2. Replace seller, buyer, lines and payment with your data. Keep amounts and quantities as strings.
  3. Set extensions.fatturapa.transmission_format (FPR12 or FPA12), document_type (TD01, TD04 or TD05) and the recipient code.
  4. Click Start. Each dataset row shows ACCEPTED or the findings; the XML artifact and the evidence JSON are in the run's key-value store under the keys given in the row.
  5. Send the XML through your own SdI channel (intermediary or PEC). This Actor does not submit it.

Integrations and API

Call it from your billing system with the Apify API or the apify-client package and download the XML from the key-value store:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("kamerozkan/fatturapa-invoice-generator").call(run_input={"invoices": [invoice_1, invoice_2]})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)
curl -X POST "https://api.apify.com/v2/acts/kamerozkan~fatturapa-invoice-generator/runs?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" -d @invoice.json

It also works from Make, n8n, Zapier or any HTTP client, and a webhook on ACTOR.RUN.SUCCEEDED can push the finished XML to your storage or accounting tool.

FAQ

Does it send the invoice to SdI? No. It generates and technically checks the XML; you submit it through your accredited channel.

Which formats and document types are supported? FPR12 (B2B/B2C, seven-character recipient code) and FPA12 (public administration, six-character code), document types TD01, TD04 and TD05.

Why must amounts be strings? To keep exact decimal arithmetic. Floating-point numbers are rejected so totals and VAT never drift by a cent.

What happens if my input is incomplete? The row reports NEEDS_INPUT with the missing or invalid fields, and nothing is charged for that invoice.

Is my invoice data public? No. Artifacts and evidence are stored in your run's private key-value store, and the dataset row holds only hashes, keys and findings.

Something is not working? Open an issue on the Issues tab with your run link.

Operational boundary

This Actor generates and validates the document. It does not submit to Peppol, KSeF, SdI, or a French platform. It does not authenticate to an authority, create a qualified signature, perform legal archival, assign an official network identifier, or guarantee recipient or tax-authority acceptance. ACCEPTED means the generated artifact passed the documented pinned offline technical gate.