from IPython import embed import importlib fuck = embed immobilizzazioniMateriali = 0 fondiAmmortamento = 0 capitale = 0 rimanenzeMagazzino = 0 patrimonioNetto = 0 debitoCommercialeAnnoPrecedente = 0 anni = ['2019', '2020', '2021'] for anno in anni: mdl = importlib.import_module('dati'+anno) if "__all__" in mdl.__dict__: names = mdl.__dict__["__all__"] else: # otherwise we import all names that don't begin with _ names = [x for x in mdl.__dict__ if not x.startswith("_")] # now drag them in globals().update({k: getattr(mdl, k) for k in names}) # === CONTO ECONOMICO === costiTotali = sum(costiAnnui.values()) + \ sum([v * nPersonale[k] for k,v in costiPersonale.items()])*13 * (1+oneriSociali) + \ costoHWPerStanza * nStanze + \ sum(costiAnnuiPassivi.values()) + \ interessiPassivi ricaviTotali = nClienti * sum(ricaviPerUnita.values()) + \ ricavoHWPerStanza * nStanze # *2 perche vendi al doppio del costo ivaCredito = iva * (sum(costiAnnui.values()) + costoHWPerStanza * nStanze) ivaDebito = iva * ricaviTotali ammortamenti = strumentazioneUffici * tassoAmmortamento ricaviOperativi = ricaviTotali costiOperativi = costiTotali - ammortamenti - costiAnnuiPassivi['accantonamentoRischi'] - interessiPassivi margineOperativoLordo = ricaviOperativi - costiOperativi risultatoOperativo = margineOperativoLordo - costiAnnuiPassivi['accantonamentoRischi'] - ammortamenti # sono costi risultatoAnteImposte = risultatoOperativo + interessiPassivi # solo se esercizio in positivo risultatoNetto = risultatoAnteImposte if risultatoAnteImposte < 0 else risultatoAnteImposte * (1+imposteEsercizio) print("=== CONTO ECONOMICO - anno %s ===" % (anno,)) print("IVA: debito = %s, credito = %s" % (ivaDebito, ivaCredito)) print("Costi Totali: %s, Ricavi Totali: %s" % (costiTotali, ricaviTotali)) # Lo stato patrimoniale e` diviso in finanziamenti e investimenti # ovvero attivo e passivo: # nell'attivo hai: # crediti verso soci che devono ancora pagarti # immobilizzazioni (immateriali): costi di impianto, ricerca, pubblicita`, licenze # immobilizzazioni (materiali): terreni, affitti, attrezzature # immobilizzazioni (finanziarie): partecipazioni in altre societa`, azioni # attivo circolante: rimanenze, crediti verso clienti, liquidita` # nel passivo hai: # patrimonio netto # fondi per rischi e oneri # trattamento di fine rapporto # debiti: obbligazioni, soci, acconti, titoli, tributari # investimenti ## immobilizzazioni materiali: immobilizzazioniMateriali = immobilizzazioniMateriali + strumentazioneUffici - strumentazioneUffici * tassoAmmortamento immobilizzazioniFinanziarie = 0 # non abbiamo titoli e obbligazioni immobilizzazioniTotali = immobilizzazioniFinanziarie + immobilizzazioniMateriali ## crediti ##### ogni 90 giorni ci pagano ##### ma chiaramente non ci paganotutti lo stesso giorno, 1 gennaio ##### solo l'ultima rata va nell'anno successivo creditiCommerciali = 0.25 * ricaviTotali # TFW TODO creditiErario = 0 if ivaCredito - ivaDebito < 0 else ivaCredito - ivaDebito creditiTotali = creditiCommerciali + creditiErario rimanenzeMagazzino = rimanenzeMagazzino + (nHW - nStanze) * costoHWPerStanza ## disponibilita` liquida: ricavi che non sono nei debiti liquidita = ricaviTotali - creditiCommerciali # puoi dividerli fra cassa e cc bancario ## totali: attivoCircolante = liquidita + rimanenzeMagazzino + creditiTotali totaleInvestimenti = liquidita + rimanenzeMagazzino + creditiTotali + immobilizzazioniTotali # finanziamenti capitale = capitale if risultatoNetto < 0 else capitale + risultatoNetto*(1-dividendi) perditaAnnoPrecedente = 0 if patrimonioNetto >= 0 else patrimonioNetto * (1-0.2) # 0.2 copertura perdita patrimonioNetto = capitale + risultatoNetto - perditaAnnoPrecedente ## fondi per rischi e oneri fondiAmmortamento = fondiAmmortamento + strumentazioneUffici * tassoAmmortamento # contrario d'immobilizzazioni? fondiRischiOneri = 0 # TODO totaleFondi = fondiAmmortamento + fondiRischiOneri # TFR??? TODO debitiMLTermine = debitoIstitutoCredito - capitaleRestituitoPrimo debitiCommerciali = nStanze * costoHWPerStanza / 4 # quarto dell'anno debitoCommercialeAnnoPrecedente = debitiCommerciali debitiBTermine = 0 tfr = 0 debitiErario = 0 if ivaDebito - ivaCredito < 0 else ivaDebito - ivaCredito totaleDebitiTributari = debitiErario + debitiMLTermine + debitiBTermine totaleFinanziamento = patrimonioNetto + totaleDebitiTributari + totaleFondi # Rendiconto Finanziario (cash flow) autofinanziamento = risultatoNetto + costiAnnuiPassivi['accantonamentoRischi'] + ammortamenti fuck()