Verbale di istruttoria
Rendicontazione bando
Pratica n. {{ practice.application_id }}{% if max_tranches_snapshot > 1 or practice.sequence_number > 1 %} — Tranche {{ practice.sequence_number }}/{{ max_tranches_snapshot }}{% endif %}
{% if practice.period_label %}
{{ practice.period_label }}
{% endif %}
Gepafin
Finanziaria regionale dell'Umbria

Verbale di istruttoria — Rendicontazione

{% if practice.status == 'APPROVED' %} ESITO: APPROVATA {% elif practice.status == 'REJECTED' %} ESITO: RESPINTA {% elif practice.status == 'AWAITING_AMENDMENT' %} SOCCORSO ISTRUTTORIO IN CORSO {% else %} IN ISTRUTTORIA {% endif %}

Dati pratica

Bando
{{ practice.schema_snapshot.template_label or ('Bando #' ~ practice.call_id) }}
Numero applicazione
#{{ practice.application_id }}
Beneficiario
{{ company.company_name or '(non disponibile)' }} {% if company.vat_number %} · P.IVA {{ company.vat_number }}{% endif %}
Regime IVA
{{ practice.iva_regime or '—' }}
Importo erogato
{{ practice.amount_erogato|euro }}
Periodo rendicontazione
{% set period = practice.schema_snapshot.get('period') or {} %} {% if period.get('start_date') and period.get('end_date') %} {{ period.start_date|datefmt }} — {{ period.end_date|datefmt }} {% else %}—{% endif %}
{% if max_tranches_snapshot > 1 %}
Tranche / fase
Tranche {{ practice.sequence_number }} di {{ max_tranches_snapshot }} {% if practice.period_label %} — {{ practice.period_label }}{% endif %}
{% endif %}
Data presentazione
{{ practice.submitted_at|datetimefmt if practice.submitted_at else '—' }}
Data istruttoria
{{ practice.reviewed_at|datetimefmt if practice.reviewed_at else generated_at }}
{# ============ FATTURE ============ #}

Verifica fatture

{% if practice.invoices %} {% set use_taxable = totals.use_taxable_only is not sameas false %} {% for cat_code, items in invoices_by_cat.items() %} {% set cat_label = categories_map.get(cat_code, cat_code) %} {% set cat_decl = per_cat_declared.get(cat_code, 0) %} {% set cat_verif = per_cat_verified.get(cat_code, 0) %} {% for inv in items %} {% set cls = 'rejected' if inv.verification_status == 'RESPINTA' else ('partial' if inv.verification_status == 'PARZIALE' else '') %} {% set declared = inv.taxable if use_taxable else inv.total %} {% if inv.verification_status == 'PENDING' %} {% set verified_val = None %} {% elif inv.verification_status == 'RESPINTA' %} {% set verified_val = 0 %} {% elif use_taxable %} {% set verified_val = inv.taxable_verified if inv.taxable_verified is not none else declared %} {% else %} {% set verified_val = inv.total_verified if inv.total_verified is not none else declared %} {% endif %} {% endfor %} {% endfor %}
Data Fornitore / Descrizione {{ 'Imponibile' if use_taxable else 'Totale' }} dichiarato {{ 'Imponibile' if use_taxable else 'Totale' }} ammesso Stato Motivazione istruttore
{{ cat_code }} — {{ cat_label }} {{ cat_decl|euro }} {{ cat_verif|euro }} {{ items|length }} fatture
{{ inv.invoice_number }} {{ inv.invoice_date|datefmt }} {{ inv.supplier_name }}
{{ inv.description|truncate(80) }}
{{ declared|euro }} {{ verified_val|euro if verified_val is not none else '—' }} {{ inv.verification_status }} {{ inv.verification_notes or '—' }}
Totale complessivo {{ totals.grand_total_declared|euro }} {{ totals.grand_total_verified|euro }}
{% else %}

Nessuna fattura rendicontata.

{% endif %} {# ============ ULA ============ #} {% if ula_section_enabled and practice.ula_employees %}

Verifica dipendenti ULA

Soglia incremento richiesta: ≥ {{ '%.2f'|format(ula_threshold) }} · FTE dichiarato: {{ '%.2f'|format(ula_fte_decl) }} · FTE ammesso: {{ '%.2f'|format(ula_fte_verif) }}

{% for emp in practice.ula_employees %} {% set cls = 'rejected' if emp.verification_status == 'RESPINTA' else ('partial' if emp.verification_status == 'PARZIALE' else '') %} {% set fte_verif = emp.fte_pct_verified if emp.fte_pct_verified is not none else emp.fte_pct %} {% endfor %}
CF Dipendente Contratto Periodo FTE dich. FTE amm. Stato Note
{{ emp.codice_fiscale }} {{ emp.full_name }} {{ contract_labels.get(emp.contract_type, emp.contract_type) }} {{ emp.period_start_date|datefmt }}
→ {{ emp.period_end_date|datefmt }}
{{ '%.2f'|format(emp.fte_pct|float) }} {% if emp.verification_status == 'PENDING' %}— {% elif emp.verification_status == 'RESPINTA' %}0.00 {% else %}{{ '%.2f'|format(fte_verif|float) }} {% endif %} {{ emp.verification_status }} {{ emp.verification_notes|default('—') }}
{% endif %} {# ============ DOCUMENTI ============ #}

Verifica documenti

{% if docs_required %} {% for dr in docs_required %} {% set doc = docs_by_code.get(dr.code, {}) %} {% set stat = doc.verification_status or 'PENDING' %} {% set cls = 'rejected' if stat in ('NON_VALIDO', 'SCADUTO') else '' %} {% endfor %}
Documento File allegato Esito Note istruttore
{{ dr.label }}
{{ dr.code }}
{% if doc.filename %}{{ doc.filename }} {% else %}non caricato {% endif %} {{ stat }} {{ doc.verification_notes|default('—') }}
{% else %}

Nessun documento richiesto dallo schema del bando.

{% endif %} {# ============ CONTROLLI AGGIUNTIVI ============ #} {% if custom_checks_merged %}

Controlli aggiuntivi (dichiarazioni beneficiario)

{% for cc in custom_checks_merged %} {% set stat = cc.verification_status or 'PENDING' %} {% set cls = 'rejected' if stat == 'NON_VALIDO' else '' %} {% set missing = cc.required and not cc.beneficiary_declared %} {% endfor %}
Controllo Obbligatorio Dichiarato Doc. allegato Validazione Note istruttore
{{ cc.label or cc.code }} {% if cc.description %}
{{ cc.description|truncate(180) }}{% endif %}
{% if cc.required %}{% else %}opzionale{% endif %} {% if cc.beneficiary_declared %}{% else %}NO{% endif %} {% if cc.requires_document %} {% if cc.has_document %}{% else %}NO{% endif %} {% else %}non richiesto{% endif %} {{ stat }} {{ cc.verification_notes or '—' }}
{% endif %} {# ============ SOCCORSI ============ #} {% if amendments %}

Soccorso istruttorio

{% for a in amendments %}
{{ a.status|amendstatus }} · deadline {{ a.deadline|datefmt }} · aperto il {{ a.created_at|datetimefmt }} {% if a.closed_at %} · chiuso il {{ a.closed_at|datetimefmt }}{% endif %}
Richiesta istruttore:
{{ a.request_text }}
{% if a.response_text %}
Risposta beneficiario ({{ a.response_at|datetimefmt }}):
{{ a.response_text }}
{% endif %}
{% endfor %} {% endif %} {# ============ STORICO TRANCHES PRECEDENTI ============ #} {% if previous_tranches %}

Storico tranches precedenti

{% for t in previous_tranches %} {% endfor %}
# Periodo / fase Data approvazione Importo ammesso Cumulativo
T{{ t.sequence_number }} {{ t.period_label or '—' }} {{ t.reviewed_at|datefmt }} {{ t.approved_remission|euro }} {{ t.cumulative|euro }}
{% endif %} {# ============ 5 VOCI UFFICIALI CECILIA ============ #}

Riepilogo finanziario (cap tranche {{ practice.sequence_number }})

(1) Importo massimo ammissibile (cap globale)
{{ totals.max_remission_global|euro }}
{% if totals.already_approved_previous_tranches > 0 %}
già approvato nelle tranche precedenti
− {{ totals.already_approved_previous_tranches|euro }}
max. disponibile per questa tranche
= {{ totals.max_remission_this_tranche|euro }}
{% endif %}
(4) Importo finanziamento erogato
{{ totals.amount_erogato|euro }}
tranches complessive
{{ totals.tranches_count }} / {{ totals.tranches_max }}
(2) Richiesto pre-controllo (ammissibile)
{{ totals.pre_check_admissible|euro }}
dichiarato tranche
{{ totals.grand_total_declared|euro }}
(3) Ammesso post-controllo istruttore
{{ totals.remission_due|euro }}
{% if totals.any_verified %}
verificato tranche
{{ totals.grand_total_verified|euro }}
{% else %}
in attesa di verifica istruttore
{% endif %}
(5) Residuo da restituire
{{ totals.residuo_da_restituire|euro }}
= erogato − approvato precedente − ammesso tranche
{% if practice.status == 'APPROVED' %}
REMISSIONE APPROVATA PER QUESTA TRANCHE
{{ practice.approved_remission|euro }}
{% endif %} {# ============ CHECKLIST + NOTE ============ #} {% set checklist = practice.instructor_checklist or {} %} {% if checklist %}

Checklist finale istruttore

{% endif %} {% if practice.instructor_final_notes %}

Note sintetiche di istruttoria

{{ practice.instructor_final_notes }}
{% endif %} {% if practice.rejection_reason %}

Motivazione del rigetto

{{ practice.rejection_reason }}
{% endif %} {# ============ FIRMA ============ #}
LUOGO E DATA
Perugia, {{ generated_at }}
 
ISTRUTTORE
{{ instructor_name or '(firma)' }}
Firma