This commit is contained in:
Francesco Mecca 2019-05-27 12:28:51 +02:00
parent bab7c2c23b
commit 74901e52d1
7 changed files with 197 additions and 17 deletions

View file

@ -1,12 +1,18 @@
### Costi di avvio ### Costi di avvio
debitoIstitutoCredito = 150 * 1000 debitoIstitutoCredito = 230 * 1000
tassoIstitutoCredito = 5/100 # m/l termine tassoIstitutoCredito = 5/100 # m/l termine
debitoFornitori = 0 debitoFornitori = 0
tassFornitori = 7/100 # breve termine tassoFornitori = 7/100 # breve termine
capitaleProprio = 70 * 1000 capitaleProprio = 120 * 1000
capitaleRestituitoPrimo = 50 * 1000
capitaleRestituitoSecondo = 20 * 1000
dividendi = 0.3
interessiPassivi = tassoIstitutoCredito * debitoIstitutoCredito + tassoFornitori * debitoFornitori # breve termine
##### Costi di startup ##### Costi di startup
componentiHWPerStanza = 200 # Costo materiale per stanza, venduto al doppio ricavoHWPerStanza = 200
costoHWPerStanza = 200
nHW = 36
# Costi Mensili: # Costi Mensili:
## personale: ## personale:
costiPersonale = { costiPersonale = {
@ -23,15 +29,18 @@ nPersonale = {
# altro # altro
## annuo ## annuo
costiAnnui = { costiAnnui = {
"assistenzaClienti ": 3000, "assistenzaClienti ": 2000,
"server ": 1500, "server ": 1500,
"marketing ": 5000, "marketing ": 5000,
"accantonamentoRischi ": 10000, "accantonamentoRischi ": 10000,
"materialeUfficio": 1000, "materialeUfficio": 1000,
"affitto": 3000 * 12,
"bollette": 350 * 12, "bollette": 350 * 12,
"consulenza": 5000*12 "consulenza": 5000*12
} }
costiAnnuiPassivi = { # no iva su questi
"affitto": 3000,
"accantonamentoRischi": 20000
}
oneriSociali = 15/100 oneriSociali = 15/100
iva = 22/100 iva = 22/100
@ -60,3 +69,6 @@ ricaviPerUnita = {
"installazione": 2000, "installazione": 2000,
"assistenza": 5000 "assistenza": 5000
} }
strumentazioneUffici = 10000
tassoAmmortamento = 25/100 # 5 anni secondo il prof

View file

@ -1,13 +1,16 @@
from dati2019 import clientela as vecchiaClientela from dati2019 import clientela as vecchiaClientela
### Costi di avvio ### Costi di avvio
debitoIstitutoCredito = 150 * 1000 debitoIstitutoCredito = 0 * 1000
tassoIstitutoCredito = 5/100 # m/l termine tassoIstitutoCredito = 5/100 # m/l termine
debitoFornitori = 0 debitoFornitori = 0
tassFornitori = 7/100 # breve termine tassoFornitori = 7/100 # breve termine
capitaleProprio = 70 * 1000 capitaleProprio = 0 * 1000
dividendi = 0.3
interessiPassivi = tassoIstitutoCredito * debitoIstitutoCredito + tassoFornitori * debitoFornitori # breve termine
##### Costi di startup ##### Costi di startup
componentiHWPerStanza = 200 # Costo materiale per stanza, venduto al doppio ricavoHWPerStanza = 200
costoHWPerStanza = 200
# Costi Mensili: # Costi Mensili:
## personale: ## personale:
costiPersonale = { costiPersonale = {
@ -27,12 +30,14 @@ costiAnnui = {
"assistenzaClienti ": 3000, "assistenzaClienti ": 3000,
"server ": 2500, "server ": 2500,
"marketing ": 5000, "marketing ": 5000,
"accantonamentoRischi ": 20000,
"materialeUfficio": 1000, "materialeUfficio": 1000,
"affitto": 3000 * 12,
"bollette": 500 * 12, "bollette": 500 * 12,
"consulenza": 7500*12 "consulenza": 7500*12
} }
costiAnnuiPassivi = { # no iva su questi
"affitto": 3000,
"accantonamentoRischi": 20000
}
oneriSociali = 15/100 oneriSociali = 15/100
iva = 22/100 iva = 22/100
@ -54,6 +59,7 @@ stanzePerEdificio = {
"privati": 4 "privati": 4
} }
nStanze = sum([v * stanzePerEdificio[k] for k,v in clientela.items()]) nStanze = sum([v * stanzePerEdificio[k] for k,v in clientela.items()])
nHW = nStanze
ricaviPerUnita = { ricaviPerUnita = {
"swSistema": 40*1000, "swSistema": 40*1000,
@ -61,3 +67,7 @@ ricaviPerUnita = {
"installazione": 2000, "installazione": 2000,
"assistenza": 5000 "assistenza": 5000
} }
strumentazioneUffici = 2600
tassoAmmortamento = 25/100 # 5 anni secondo il prof

View file

@ -0,0 +1,74 @@
from dati2020 import clientela as vecchiaClientela
### Costi di avvio
debitoIstitutoCredito = 0
tassoIstitutoCredito = 5/100 # m/l termine
debitoFornitori = 0
tassoFornitori = 7/100 # breve termine
capitaleProprio = 0
dividendi = 0.3
interessiPassivi = tassoIstitutoCredito * debitoIstitutoCredito + tassoFornitori * debitoFornitori # breve termine
##### Costi di startup
ricavoHWPerStanza = 200
costoHWPerStanza = 200
# Costi Mensili:
## personale:
costiPersonale = {
"amministrazione ": 1100,
"tecnico ": 1200,
"sviluppatore ": 1800,
}
nPersonale = {
"amministrazione ": 2,
"tecnico ": 8,
"sviluppatore ": 6,
}
# altro
## annuo
costiAnnui = {
"assistenzaClienti ": 3000,
"server ": 2500,
"marketing ": 5000,
"accantonamentoRischi ": 20000,
"materialeUfficio": 1000,
"bollette": 500 * 12,
"consulenza": 7500*12
}
costiAnnuiPassivi = { # no iva su questi
"affitto": 3000,
"accantonamentoRischi": 20000
}
oneriSociali = 15/100
iva = 22/100
imposteEsercizio = 30/100
# Ricavi
clientela = {
"gallerie": 5 + vecchiaClientela['gallerie'],
"musei": 3 + vecchiaClientela['musei'],
"edificiStorici": 1 + vecchiaClientela['edificiStorici'],
"privati": 2 + vecchiaClientela['privati']
}
nClienti = sum(clientela.values())
stanzePerEdificio = {
"gallerie": 10,
"musei": 30,
"edificiStorici": 50,
"privati": 4
}
nStanze = sum([v * stanzePerEdificio[k] for k,v in clientela.items()])
nHW = nStanze
ricaviPerUnita = {
"swSistema": 40*1000,
"swAnalisi": 25*1000,
"installazione": 2000,
"assistenza": 5000
}
strumentazioneUffici = 4500
tassoAmmortamento = 25/100 # 5 anni secondo il prof

View file

@ -2,7 +2,14 @@ from IPython import embed
import importlib import importlib
fuck = embed fuck = embed
anni = ['2019', '2020']#, '2021'] immobilizzazioniMateriali = 0
fondiAmmortamento = 0
capitale = 0
rimanenzeMagazzino = 0
patrimonioNetto = 0
debitoCommercialeAnnoPrecedente = 0
anni = ['2019', '2020', '2021']
for anno in anni: for anno in anni:
mdl = importlib.import_module('dati'+anno) mdl = importlib.import_module('dati'+anno)
if "__all__" in mdl.__dict__: if "__all__" in mdl.__dict__:
@ -14,18 +21,95 @@ for anno in anni:
# now drag them in # now drag them in
globals().update({k: getattr(mdl, k) for k in names}) globals().update({k: getattr(mdl, k) for k in names})
# === CONTO ECONOMICO === # === CONTO ECONOMICO ===
costiTotali = sum(costiAnnui.values()) + \ costiTotali = sum(costiAnnui.values()) + \
sum([v * nPersonale[k] for k,v in costiPersonale.items()])*13 * (1+oneriSociali) + \ sum([v * nPersonale[k] for k,v in costiPersonale.items()])*13 * (1+oneriSociali) + \
componentiHWPerStanza * nStanze costoHWPerStanza * nStanze + \
sum(costiAnnuiPassivi.values()) + \
interessiPassivi
ricaviTotali = nClienti * sum(ricaviPerUnita.values()) + \ ricaviTotali = nClienti * sum(ricaviPerUnita.values()) + \
componentiHWPerStanza * nStanze * 2 # *2 perche vendi al doppio del costo ricavoHWPerStanza * nStanze # *2 perche vendi al doppio del costo
ivaCredito = iva * (sum(costiAnnui.values()) + costoHWPerStanza * nStanze)
ivaCredito = iva * (sum(costiAnnui.values()) + componentiHWPerStanza * nStanze)
ivaDebito = iva * ricaviTotali 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("=== CONTO ECONOMICO - anno %s ===" % (anno,))
print("IVA: debito = %s, credito = %s" % (ivaDebito, ivaCredito)) print("IVA: debito = %s, credito = %s" % (ivaDebito, ivaCredito))
print("Costi Totali: %s, Ricavi Totali: %s" % (costiTotali, ricaviTotali)) 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()