Edge
Get Edge to manage all of your crypto assets. The most secure way to buy, store and trade crypto under your control Accounts Created + 0 MM Assets Supported + 0 Languages Supported 0 Countries Support
Crea preventivi professionali in PDF in un minuto: rivalsa INPS, ritenuta d'acconto, regime forfettario, bollo. Nessuna registrazione, l'AI scrive le voci per te.
Translation pending
FinanceTypeScript · CSSGitHub @alifaticoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Preventivi professionali in PDF in 60 secondi — un micro-SaaS pronto a incassare.
Chi ha una Partita IVA fa preventivi ogni settimana, di solito con Word o Excel: i calcoli (rivalsa INPS, ritenuta d'acconto, IVA per aliquota, bollo, regime forfettario) sono noiosi e si sbagliano. Preventivissimo li fa in automatico, l'AI scrive le voci, il PDF esce pulito con logo e colore del professionista.
Modello di business
| Piano | Prezzo | Cosa sblocca |
|---|---|---|
| Gratis | 0 € | Preventivi illimitati nel browser, PDF con filigrana "ANTEPRIMA" |
| Singolo | 4,90 € una tantum | PDF pulito di quel preventivo, riscaricabile dopo le modifiche |
| Pro | 9 €/mese o 59 €/anno | PDF illimitati, portale Stripe per gestire l'abbonamento |
Nessun database per gli utenti, nessun account: i preventivi vivono nel browser, Stripe è l'unica fonte di verità per i pagamenti e il server rilascia token firmati (HMAC) come prova di acquisto. L'unico stato lato server è opzionale: i preventivi inviati al cliente con link e accettazione online, salvati in un Redis (Upstash) con scadenza a 12 mesi. Costi fissi: solo l'hosting (Vercel Pro 20 $/mese per uso commerciale, oppure Railway/Fly.io/un VPS da pochi euro) più le commissioni Stripe per transazione.
sk_test_… per provare, sk_live_… per incassare).STRIPE_SECRET_KEY e fai deploy. Non serve altro: l'URL pubblico viene rilevato da solo.4242 4242 4242 4242: crea un preventivo, clicca Scarica PDF, paga, torna sulla pagina di successo e il PDF pulito si scarica da solo.sk_live_… e compila BUSINESS_* e SUPPORT_EMAIL (compaiono nel footer e nelle pagine legali).Opzionali ma consigliati:
UPSTASH_REDIS_REST_URL/TOKEN vengono iniettate da Vercel.ANTHROPIC_API_KEY → attiva Bozza con AI (descrivi il lavoro → voci, prezzi e condizioni). Costo per bozza nell'ordine dei centesimi; AI_DAILY_LIMIT limita la spesa.APIFY_TOKEN oppure OPENAPI_COMPANY_TOKEN → attiva la ricerca nel Registro Imprese nel campo cliente: la scelta di un'impresa compila tutti i dati (P. IVA, codice fiscale, indirizzo, CAP, città, provincia, codice SDI, PEC quando disponibile). Con Apify (actor jungle_synthesizer/italy-registroimprese-bilanci-scraper, piano Free da 5 $/mese senza carta, ~0,03 $ a ricerca) compare un pulsante "Cerca nel Registro Imprese" e ogni ricerca è un run di qualche decina di secondi; con openapi.com (wallet prepagato, ricarica minima 50 €, ~2 centesimi a cliente) i suggerimenti arrivano mentre si scrive. COMPANY_LOOKUP sceglie il provider quando ci sono entrambi i token, COMPANY_LOOKUP_DAILY_LIMIT limita la spesa, COMPANY_LOOKUP=mock prova la funzione in locale senza token.RESEND_API_KEY → recupero della chiave Pro via email ("ho perso la chiave").NEXT_PUBLIC_PLAUSIBLE_DOMAIN → statistiche senza cookie.STRIPE_PRICE_* → usa Prezzi creati nel dashboard Stripe invece di quelli ad-hoc.Tutte le variabili sono documentate in .env.example.
npm install
cp .env.example .env.local # compila almeno STRIPE_SECRET_KEY per provare i pagamenti
npm run dev # http://localhost:3000
npm test # calcoli fiscali, token di licenza, rendering PDF
npm run lint && npm run typecheck
npm run build && npm start # build di produzione
Per i pagamenti in locale non servono webhook: la pagina /success verifica la sessione Checkout direttamente con l'API di Stripe. Per provare Invia al cliente in locale usa SHARE_STORE=memory (store in memoria, si svuota al riavvio).
Browser (localStorage) Server (Next.js route handlers, stateless)
┌─────────────────────────┐ POST /api/pdf {quote, unlock|license} ┌─────────────────────────┐
│ preventivi, profilo, │ ───────────────────────────────────────▶ │ zod → calcoli → react-pdf│
│ chiave Pro │ ◀─────────────────────────────────────── │ filigrana se non pagato │
└─────────────────────────┘ application/pdf └─────────────────────────┘
│ POST /api/checkout {plan, docId} │
▼ ▼
Stripe Checkout ──▶ /success?session_id=… ──▶ GET /api/checkout/verify ──▶ token HMAC
(single: legato al docId · pro: valido fino a fine periodo)
docId), per sempre, anche dopo modifiche./api/license/refresh, che controlla lo stato dell'abbonamento su Stripe. Disdetta → nessun rinnovo./api/license/recover cerca l'email tra i clienti Stripe con abbonamento attivo e invia una nuova chiave (risposta identica in ogni caso: niente enumerazione di email)./api/share salva uno snapshot del preventivo pagato in Redis con un id pubblico e una chiave proprietario; /p/<id> mostra il preventivo, il PDF pulito e i pulsanti Accetta/Rifiuta; la decisione registra nome, nota, data e un hash giornaliero dell'IP e avvisa il mittente via email (Resend)./preventivo/<slug>): 20 modelli con contenuti unici e voci precompilate che si aprono nel builder con /app?template=<slug>; /preventivo-ai presenta la bozza con AI./api/company/search?q=, /api/company/run/<id>, /api/company/<id>): due provider dietro src/lib/company.ts. Apify: la ricerca avvia un run dell'actor e risponde con il suo id, il browser fa polling finché i record arrivano, ogni record porta già la scheda completa. openapi.com: autocomplete con arricchimento name mentre si scrive e una chiamata IT-start alla scelta. In entrambi i casi risposte in cache in memoria, rate limit per IP e tetto giornaliero di chiamate a pagamento.src/
app/ pagine (landing, /app, /success, /privacy, /termini) e API in app/api/*
components/ UI: builder/*, QuotePreview (gemello HTML del PDF), Landing, …
lib/quote/ modello, calcoli (calc.ts), schema zod, etichette documento it/en
lib/pdf/ documento react-pdf + sanitizzazione caratteri
lib/stripe.ts Checkout, verifica sessione, abbonamenti, portale
lib/share.ts link al cliente e accettazione (store.ts: Upstash Redis o memoria)
lib/professions.ts modelli e contenuti delle pagine per professione
lib/license.ts token HMAC (single/pro)
lib/ai.ts bozza con Claude (output strutturato via zod)
lib/i18n/ dizionari UI it/en
tests/ vitest
Sconti di riga e globale · IVA per aliquota (22/10/5/4/0) · rivalsa INPS 4% (soggetta a IVA e a ritenuta) · ritenuta d'acconto 20% (su imponibile + rivalsa, mai sull'IVA) · imposta di bollo 2 € sugli importi esenti > 77,47 € · regime forfettario (IVA 0, niente ritenuta, dicitura L. 190/2014) · acconto in percentuale. Tutto coperto da test in tests/calc.test.ts.
La checklist operativa (SEO, canali, prezzi, metriche) è in docs/LAUNCH.md; l'analisi dei concorrenti e le scelte di posizionamento in docs/COMPETITORS.md.
Codice proprietario — tutti i diritti riservati.