Fatture in Cloud Integration (ElectronicBilling)
Overview
The ElectronicBilling integration connects Power Rent with Fatture in Cloud (fattureincloud.it), Italy’s leading online invoicing and business management platform. This integration enables automated electronic billing compliance for Italian rental companies.
About Fatture in Cloud
Fatture in Cloud is a comprehensive cloud-based invoicing platform used by over 580,000 Italian businesses.
Integration Architecture
Components
- Frontend Component:
components/pages/Settings/Integrations/ElectronicBilling/index.js - Webhook Handler:
pages/api/fattura-elettronica-webhook.js - Services:
@power-rent/services/fatturaCompanyService - Database Models:
fattura_companiescollection/table
Key Features
- Country Restriction: Only available for Italian companies (uses CountryVisibilityGuard)
- Invoice Synchronization: Bi-directional sync of invoice data
- Status Updates: Real-time invoice status updates via webhooks
- SDI Integration: Automatic compliance with Italian electronic billing requirements
Setup and Configuration
Prerequisites
- Italian company account in TopPent.app
- Active Fatture in Cloud account
- API credentials from Fatture in Cloud
Enabling the Integration
Frontend Setup
// Located in Settings > Integrations<ElectronicBilling viewer={viewer} />The component validates that:
- Company country is Italy (using ITALY_TRANSLATIONS)
- Company has electronic billing ID if previously configured
- User has proper permissions
Company Registration Flow
- User enables electronic billing in settings
- If no
electronicBillingIdexists, AddCompanyModal opens - Company information is sent to Fatture in Cloud API
- Integration stores the returned company ID
- Electronic billing is marked as enabled
Webhook Integration
Webhook Endpoint
URL: /api/fattura-elettronica-webhook
Method: POST
Purpose: Receives invoice status updates from Fatture in Cloud
Status Mapping
The webhook updates invoices with SDI status codes:
- SDI Status: Italian tax authority processing status
- Electronic Billing ID: Fatture in Cloud invoice identifier
- Status Sync: Keeps TopRent.app invoices synchronized with tax authority status
API Integration
Service Layer
The integration uses fatturaCompanyService for:
- Company registration with Fatture in Cloud
- Retrieving company mappings
- Managing integration credentials
Authentication
- Uses scoped Fauna client keys per tenant
- Webhook authentication via company ID matching
- Secure credential storage in environment variables
User Interface
Settings Integration Card
<IntegrationCard integrationTitle="Electronic Billing" actionDescription="Connect with Fatture in Cloud" cardMedia="/integrations/fattura_elettronica.png" checked={!!electronicBilling} onCheck={handleCheck}>Modal Components
- ConfirmationModal: Enable/disable confirmation
- AddCompanyModal: Company registration form
- CompanyList: Display connected companies
Feature Flags
The integration uses feature flags for:
- Migration between Fauna and Prisma databases
const isMigration = Statsig.checkGateWithExposureLoggingDisabledSync( user, faunaMigrationFatturaCompanies.key);