sâmbătă, 13 decembrie 2014

[VIDEO] Calcul Salariu Brut pornind de la Salariul Net + Functia Excel Goal Seek



PS1) Exemplele din acest video au scopul de a reflecta modalitatea in care putem beneficia de prevederile legale. Sa nu intelegeti ca sunt de acord cu salarii foarte mici acordate angajatiilor cu multe persoane in intretinere daca acestia sunt competenti !!! In conditii normale salariul net ar trebui majorat, iar impozitul platit statului diminuat in cazul aparitiei deducerii personale pentru un angajat competent, iar costul total pentru societate va ramane neschimbat. Va rog nu judecati exemplele ca si cum ar fi in defavoarea angajatiilor. Cel mai important: Salariul este cel negociat de fiecare angajat in functie de competente, experienta, implicare si alti factori obiectivi sau subiectivi. Eu nu am vorbit despre salarii in mod absolut, ci despre cum le putem calcula astfel incat sa platim cat mai putin statului conform normelor impuse de el insusi.


PS2) Imi cer scuze pentru ca am repetat de atatea ori cuvantul "da!?" in acest video. Sunt inca amator in domeniul prezentarilor video, dar promit ca pe viitor voi incerca sa realizez tutoriale de o calitate mai buna ! 

Download link fisier

Subscribe to Un mod diferit de a privi Economia by Email
Citește în continuare ->

sâmbătă, 6 decembrie 2014

[Reglementari] Ghid persoane fizice autorizate (PFA)

PFA este persoana autorizată să desfăşoare orice formă de activitate economică permisă de lege, folosind în principal forţa sa de muncă. Conform normelor legale pot deveni PFA cetaţenii care au împlinit 18 ani, nu au săvârşit infracţiuni economice şi au pregatire profesională în domeniul în care doresc să fie autorizaţi.

ETAPELE înfiinţării şi gestionării din punct de vedere fiscal a unei PFA sunt următoarele:

1) Înainte de începerea activităţii economice: solicitarea înregistrarii în registrul comerţului şi autorizarii funcţionării. Cererea de înregistrare în registrul comerţului şi de autorizare a funcţionării se depune la registrul comerţului de pe lângă tribunalul din judeţul în care solicitantul îşi stabileşte sediul profesional si va fi însoţită de documentaţia prevăzută în anexa (vezi la finalul articolului).

2) Sediul: PFA au sediul profesional declarat prin cererea de înregistrare în registrul comerţului şi de autorizare a funcţionării. (trebuie să deţii un drept de folosinţă asupra imobilului la adresa căruia acesta este declarat.)

3) Certificatul de înregistrare, conţinând codul unic de înregistrare, este documentul care atestă înregistrarea în registrul comerţului, autorizarea funcţionării, precum şi luarea în evidenţă de către autoritatea fiscală competentă se elibereaza de Reg Comertului. 

4) Impunerea veniturilor este reglementată de Legea nr. 571/2003 privind Codul fiscal, cu modificările şi completările ulterioare, Titlul III - Impozitul pe venit, precum şi de Normele metodologice date în aplicarea acestuia, aprobate prin HG nr. 44/2004, cu modificările şi completările ulterioare.

5) Depunerea declaratiei privind venitul estimat (Declaratia 220): la ANAF în termen de 15 zile de la data inceperii activităţii / până pe 31 Ianuarie inclusiv dacă realizezi venituri impuse pe baza de norme de venit şi în anul fiscal anterior ai înregistrat venituri mai mari de echiv. în lei a 100.000 euro- în acest caz ai obligatia determinării venitului net în sistem real, începand cu anul urmator /  până pe 25 Mai a anului de impunere, odată cu declaraţia privind venitul realizat (D200) dacă ai realizat pierderi sau venituri pe perioade mai mici decât anul fiscal sau din motive obiective estimezi că vei obţine venituri care diferă cu cel putin 20% faţă de anul anterior / până pe 31 ianuarie inclusiv dacă ai deşfăsurat activităţi impuse pe baza de norme de venit şi soliciţi trecerea pt anul fiscal următor la impunere în sistem real sau invers. 

6) Stabilirea plăţilor anticipate: Anaf emite o decizie de impunere, pe baza venitului anual estimat. La stabilirea plaţilor anticipate se utilizeaza cota unică de 16%. Plaţile anticipate se fac in 4 rate egale până la data de 25 inclusiv a ultimei luni din fiecare trimestru. Dacă ai desfăşurat activitate în anul precedent, iar stabilirarea plaţilor anticipate se face după expirarea termenelor de plată, ai obligaţia să efectuezi plăţile anticipate la nivelul la nivelul sumei datorate pentru ultimul termen de plata al anului precedent. Diferenţele se vor repartiza pe termenele de plată urmatoare. Pt declaraţiile privind venitul estimat depuse în luna Decembrie nu se mai stabilesc plăţi anticipate, venitul net aferent perioadei până la sfârșitul anului urmând să fie supus impozitarii potrivit deciziei de impunere emise pe baza declaraţiei privind venitul realizat. 

7) Poţi opta pentru stabilirea venitului anual estimat pe bază de norme de venit (indiferent de ce venit realizezi, plăteşti impozitul şi contribuţiile la nivelul normei de venit aferente activităţii si judeţului unde desfasori activitatea) sau în sistem real pe baza datelor din contabilitatea în partida simplă. Dacă optezi pt norme de venit nu mai trebuie să ţii contabilitate în partidă simplă, dar activităţile care pot opta pt norme de venit sunt cele prevazute prin OMFP 2875/2011. În cazul în care desfaşori o activitate impusa pe bază de normă de venit şi o altă activitate independentă, venitul net estimat se calculează pe baza contabilitaţii în partidă simplă. 

 7.1.) Stabilirea venitului net anual pe baza normelor de venit: normele de venit se stabilesc şi se publică anual, în cursul trimestrului IV al anului anterior celui in care se aplica. Normele de venit ââse pot consulta accesând ACEST LINK. Dacă desfăşori 2 sau mai multe activităţi comerciale, venitul net se stabileşte prin însumarea normelor de venit corespunzatoare fiecarei tip de activitate. În cazul în care optezi pt norme de venit, trebuie să completezi Registrul Jurnal de Încasari şi Plăti, doar partea referitoare la încasari, cf. legii contabilităţii în partidă simpla (Link). Dacă desfăşori o activitate independentă care generează venituri, pe o perioada de timp mai mica decât anul calendaristic, norma de venit se corecteaza a.i. să reflecte perioada în care a fost desfasurată activitatea. 

7.2. Stabilirea venitului net anual în sistem real: se determina ca diferenta intre Venitul brut si cheltuielile efectuate in scopul desfasurarii activitatii, pe baza datelor din contabilitatea in partida simpla. Trebuie sa organizezi contabilitate in partida simpla si sa completezi Registrul de incasari si plati, Registrul Inventar si alte documente contabile prevazute de legislatie. Completearea acestor documente este similara cu cea aferenta situatiei profesiilor liberale, prezentata in acest articol: Ghid privind contabilitatea si fiscalitatea Profesiilor Liberale

8) Contributiile sociale (CAS): Declararea veniturilor pt stabilirea contribuţiilor sociale se realizeaza prin depunerea Declaratiei 600. Venitul declarat constituie baza de calcul lunara pt stabilirea obligaţiilor de plată lunare pe care trebuie să le efectuezi în cursul anului ca plati anticipate. Plata se efectueaza trimestrial, în 4 rate egale, până pe data de 25 inclusiv a ultimei luni din fiecare trimestru, prin decizie de impunere ANAF. D 600 se depune anual, pana pe 31 Ianuarie inclusiv a anului pt care se datoreaza CAS. Dacă începi activitatea în cursul anului, trebuie să completezi D 600 în termen de 15 zile de la începere. 
Excepţii:  A) Dacă venitul rămas după deducerea cheltuielilor este sub 35% din venitul salarial mediu brut pe aferent anului respectiv, nu se mai datoreaza CAS. În 2014 salariul mediu brut= 2298, deci limita de venit până la care nu se datoreaza CAS va fi 35% * 2298= 804 lei / lună.  
B) Baza de calcul a CAS nu poate depăși 5 * salariul mediu brut. De exemplu, dacă în 2014 un contribuabil obține venituri nete mai mari de 5 * 2298 = 11.490 lei, CAS va fi 31.3% * 11.490 lei= 3596 lei. 
C) Dacă se obțin și venituri din salarii pentru care se plătește CAS, nu se mai datoreaza CAS și pentru venitul din activitatea independenta. 

9) Contributia de asigurari sociale de sanatate (CASS): Declararea veniturilor pt stabilitea CASS, are loc prin depunerea declaratiei de venit estimat/norma de venit sau a declaratiei privind venitul realizat. Plaţile se efectueaza similar CAS. Obligația de plată a CASS nu poate fi mai mică decât salariul minim brut pe țară, dacă venitul este singurul asupra căruia se calculează contribuția. În prezent salariul minim fiind 900 lei, CASS minim de plată va fi 5.5% * 900= 50 lei.

Contribuțiile se achită la trezoreria statului. 

10) Declaratia privind venitul realizat (D 200): se depune până la data de 25 Mai a anului urmator celui în care s-a desfăşurat activitatea. Aceasta declaraţie nu se depune în cazul veniturilor declarate pe baza de norme de venit, cu excepţia cazului în care ai depus declaraţii privind venitul estimat / norma de venit în luna Decembrie şi nu s-au stabilit plăţi anticipate. 

11) Impozitul anual datorat: se încrie în dezia de impunere ANAF şi se calculează prin aplicarea cotei de 16% asupra venitului net impozabil. Diferenţele de impozit rămase de achitat (faţă de plăţile anticipate) cf. deciziei de impunere anuale, se efectueaza în termen de max. 60 de zile de la data comunicării deciziei de impunere, perioada pt care nu se calculeaza şi nu se datoreaza penalităţi/dobanzi de intarziere.  

12) TVA: Te înregistrezi în scopuri de TVA în următoarele 2 situaţii:

* Prin opţiune
* Prin depăşirea plafonului de scutire din Codul Fiscal, de 220.000 lei. 

Pt înreg în scopuri de TVA se poate opta la înfiinţarare, în cererea de la Registrul Comertului sau ulterior prin depunarea la ANAF a următoarelor declaraţii:
•    D 070 : pt activităţi desfaurate individual
•    D 010: pt activităţi desfasurate în cadrul unei asocieri fără personalitate juridica.
Ulterior, trebuie să depui la ANAF decontul de TVA (D300) lunar/trimestrial, Declaraţia privind livrările/prestările şi achiziţiile efectuate pe teritoriul naţional (D394)  lunar/trimestrial, D392A, precum şi alte declaraţii prevăzute de legislaţie, în functie de situaţia specifică. 

Pe site-ul ANAF poate fi consultat calendarul declaraţiilor fiscale din 2014 accesând acest link.

13) Aparate de marcat electronice si fiscal: daca obţii venituri din activitati comerciale, ai obligatia utilizarii aparatelor de marcat electronice fiscale si de a emite si preda clientilor bonuri fiscale. La solicitarea clientilor trebuie sa emiti si factura fiscala. Obligatia utilizarii acestor aparate ia nastere de la data inceperii activitatilor comerciale in fiecare locatie. 
Exceptii: comerţ cu amanuntul prin comis-voiajori precum şi prin corespondeţă cu excepţia livrărilor de bunuri la domiciliu efectuate de magazine / unitaţi de alimentaţie publică pe bază de comandă; serviciile de instalaţii, reparaţii şi întreţinere a bunurilor, efectuate la domiciliul clientului; efectuarea lucrărilor de construcţii, reparaţii, amenajări şi întreţinere de locuinţe.  
Aparatele de marcat electronice fiscal sunt necesare numai în cazul în care vinzi produse / prestezi servicii şi catre persoane fizice. 

14) BINE DE ŞTIUT: 

Dacă te gândeşti să înlocuieşti contractul individual de muncă cu PFA deoarece este mai avantajos din punct de vedere fiscal, ar trebui să ştii urmatoarele lucruri:

Pot functiona ca PFA persoanele fizice care desfasoara activităţi independente ! În cazul unui control, o activitate independentă se poate reconsidera ca fiind activitate dependentă, dacă cel puţin unul din următoarele criterii este îndeplinit:

A) beneficiarul de venit se află într-o relaţie de subordonare faţă de plătitorul de venit, respectiv organele de conducere ale plătitorului de venit, şi respectă condiţiile de muncă impuse de acesta, cum ar fi: atribuţiile ce îi revin şi modul de îndeplinire a acestora, locul desfăşurării activităţii, programul de lucru;

B) în prestarea activităţii, beneficiarul de venit foloseşte exclusiv baza materială a plătitorului de venit, respectiv spaţii cu înzestrare corespunzătoare, echipament special de lucru sau de protecţie, unelte de muncă sau altele asemenea şi contribuie cu prestaţia fizică sau cu capacitatea intelectuală, nu şi cu capitalul propriu;
C) plătitorul de venit suportă în interesul desfăşurării activităţii cheltuielile de deplasare ale beneficiarului de venit, cum ar fi indemnizaţia de delegare-detaşare în ţară şi în străinătate, precum şi alte cheltuieli de această natură;

D) plătitorul de venit suportă indemnizaţia de concediu de odihnă şi indemnizaţia pentru incapacitate temporară de muncă, în contul beneficiarului de venit.

Dacă îţi este reconsiderată activitatea atunci, pe lângă ce ai plătit ca PFA vei mai plăti şi sumele aferente activităţii dependente. -Conform Art.7, Alin.1, pct. 2.2 din Codul Fiscal. : "În cazul reconsiderării unei activităţi ca activitate dependentă, impozitul pe venit şi contribuţiile sociale obligatorii, stabilite potrivit legii, vor fi recalculate și virate, fiind datorate solidar de către plătitorul şi beneficiarul de venit.  În acest caz se aplică regulile de determinare a impozitului pentru veniturile din salarii realizate în afara funcţiei de bază"
 
ANEXA:

Documentaţia de susţinere a cererii de înregistrare în registrul comerţului şi de autorizare a funcţionării PFA

-cerere tip
-dovada verificarii disponibilitatii si rezervarea denumirii.
-carte de identitate sau pasaport
-document care sa ateste dreptul de folosinta asupra sediului profesional/punct de lucru (contract de vanzare-cumparare sau contract de inchiriere sau comodat)
-avizul privind schimbarea destinatiei imobilului colectiv cu regim de locuinta
-specimenul de semnatura a PFA
-declaratie pe proprie raspundere care sa ateste indeplinirea conditiilor legale de functionare prevazute de legislatia speciala din domeniu:sanitar,sanitar-veterinar,protectia mediului si protectia muncii.
-documentul care atesta pregatirea profesionala sau experienta profesionala.
-taxele de registru   

Pregătirea sau experienţa profesională se atestă, după caz, cu documente cum sunt: diploma, certificatul sau adeverinţa, prin care se dovedeşte absolvirea unei instituţii de învăţământ, certificatul de calificare profesională sau de absolvire a unei forme de pregătire profesională, organizată în condiţiile legii, în vigoare la data eliberării acestuia, certificatul de competenţă profesională, cartea de meşteşugar, carnetul de muncă al solicitantului, declaraţie de notorietate cu privire la abilitatea de a desfăşura activitatea pentru care se solicită autorizarea, eliberată de primarul localităţii respective în mod gratuit în cazul meseriilor tradiţionale artizanale, atestatul de recunoaştere şi/sau de echivalare pentru persoanele fizice care au dobândit calificarea în străinătate, atestatul de recunoaştere a calificării dobândite în străinătate, în afara sistemului de învăţământ, orice alte dovezi care să ateste experienţa profesională.

SURSE (LEGISLATIE utila):
1)    OUG 44/2008

Citește în continuare ->

vineri, 21 noiembrie 2014

[Reglementari] Contabilitatea si fiscalitatea profesiilor liberale- ce trebuie sa stii?

Definirea profesiilor liberale şi încadrarea veniturilor obtinute din aceste activitati

Profesiile liberale sunt următoarele:  avocat, notar, auditor financiar, consultant fiscal,expert contabil, contabil autorizat, consultant de plasament în valori mobiliare, traducator autorizat, arhitect si alte profesii reglementate, desfăşurate în mod independent,  în condiţiile legii.

Veniturile din profesii liberale realizate in mod individual si/sau intr-o forma de asociere sunt cuprinse in cadrul veniturilor din activitati independente, reglementate prin Codul Fiscal.

 
Pașii pe care trebuie să îi urmați

Se ține contabilitate în partidă simplă conform ordinului 1040 din 2004 și se aplică prevederile Codului Fiscal referitoare la Veniturile din activități independente.

1) Contribuabilii care obțin venituri din profesii liberale au obligația să se înregistreze la ANAF prin depunerea formularului 070.

2) După aceea, trebuie depusă declarația 220 în termen de maxim 15 zile de la începerea activității. În aceast document veți estima venitul realizat până la finalul anului curent.

3) Plățile anticipate se fac în 4 rate egale până pe 22 inclusiv a ultimei luni din fiecare trimestru (ex: pentru T1 până la 25.03 plătești 16% din venitul net estimat pt T1)

4) Dacă în anul anterior au existat pierderi, au fost estimate venituri pe perioade mai mici de 12 luni sau se estimeaza realizarea de venituri care diferă cu cel puțin 20% față de anul anterior, contribuabilii trebuie să depună 220 până pe 25 Mai al anului de impunere, odata cu declarația privind venitul realizat.

5) Venitul net anual este Venitul Brut minus Cheltuielile effectuate în scopul realizării de venituri, deductibile, pe baza datelor din contabilitatea în partida simplă.

6) Registrul Jurnal de Încasări și plăți și Registrul Inventar se înregistrează la ANAF parafate și șnuruite.

7) TVA:  Înregistrarea în scopuri de TVA are loc:
  • Prin opțiune
  • Dacă este depășit plafonul de scutire de 220.000 lei (din Venitul Brut)
Dacă te înregistrezi în scopuri de TVA:
  • Depui D300 trimestrial
  • Depui D394 lunar/trimestrial
  • Depui D392 annual
  • Evidența TVA colectată (la ce vinzi) se ține cu ajutorul Jurnalului pentru Vânzări. În acesta se înregistrează pe bază de documente (facturi fiscale, bonuri de comandă-chitanță) valoarea bunurilor livrate și/sau a serviciilor prestate și TVA aferentă.
  •  Evidența TVA deductibilă se ține cu Jurnalul pentru cumpărări: se înregistrează valoarea serviciilor / bunurilor primite de la terți.

8) Opțional, poate fi deținut și Registrul Unic de Control. (în lege este specificat acest lucru ca fiind opțional, dar în practică ANAF poate solicita și acest registru. În cazul în care se întâmplă acest lucru, puteți argumenta prin citarea ART 1, alineatul 2 din legea 253/2003 privind registrul unic de control)

9) Până pe 25 Mai anul următor, se depune declarația 200 privind Venitul realizat.

10) Impozitul se stabilește de ANAF aplicând 16% asupra Venitului net impozabil. Impozitul se înscrie în decizia de impunere. 
- Diferențele de impozit rămase de achitat conform deciziei de impunere se plătesc în maxim 60 de zile de la data comunicării deciziei de impunere.

11. Contribuțiile Sociale:

11.1 CAS (pensii): 31.3% * baza de calcul. Declararea venitului pentru stabilirea CAS se face prin D600. Se depune până pe 31.01 an curent sau în termen de 15 zile de la începerea activității pentru persoanele nou înregistrate. Plățile anticipate se fac în 4 tranșe până pe 25 a ultimei luni din trimestru.

Excepții:

    * Dacă venitul rămas după deducerea cheltuielilor este sub 35% din venitul salarial mediu brut pe aferent anului respectiv, nu se mai datoreaza CAS. În 2014 salariul mediu brut= 2298, deci limita de venit până la care nu se datoreaza CAS va fi 35% * 2298= 804 lei / lună.
   * Baza de calcul a CAS nu poate depăși 5 * salariul mediu brut. De exemplu, dacă în 2014 un contribuabil obține venituri nete mai mari de 5 * 2298 = 11.490 lei, CAS va fi 31.3% * 11.490 lei= 3596 lei.
   * Dacă se obțin și venituri din salarii pentru care se plătește CAS, nu se mai datoreaza CAS și pentru venitul din profesii liberale.

11.2. CASS (sănătate): obligația de plată a CASS nu poate fi mai mică decât salariul minim brut pe țară, dacă venitul din profesii liberale este singurul asupra căruia se calculează contribuția. În prezent salariul minim fiind 900 lei, CASS minim de plată va fi 5.5% * 900= 50 lei.

Contribuțiile se achită la trezoreria statului.

12) Toate declarațiile se întocmesc în câte 2 exemplare. Unul se depune la ANAF, iar celălalt se păstrează de contribuabil cu nr. De înregistrare de la ANAF. Toate documentele justificative (cele pe baza cărora se întocmește Registrul Jurnal de încasări și plăți) se arhivează. Registrul Jurnal de încasări și plăți se arhivează și se păstrează timp de 10 ani.

13) Completarea Registrului de Încasări și Plăți se poate face în Excel sau într-un program de contabilitate în partidă simplă, urmând ca în registrul cumpărat de la ANAF să se treacă numai totalurile veniturilor și cheltuielilor de la sfârșitul fiecărei luni.

14) Completarea Registrului Inventar: la finalul fiecărui an se completează informațiile referitoare la toate bunurile care s-au cumpărat în scopul desfășurării activității (și pentru care s-au dedus cheltuieli) și drepturile și obligațiile aferente (creanțe / datorii).

Atenție: dacă valoarea bunurilor cumpărate depășește valoare legală (2500 lei în prezent), iar durata normală de utilizare este mai mare de un an, aceste bunuri intră în categoria mijloacelor fixe și se aplică prevederile legale referitoare la amortizare ! (nu se deduce intreaga cheltuială în luna în care s-a realizat achiziția, ci se deduce lunar o parte din aceasta în funcție de durata de utilizare din catalogul mijloacelor fixe.

Ex: dacă prețul de achizitie al unui laptop este 3000 de lei fără TVA, trebuie să îl amortizezi pe o perioadă între 3-5 ani. Dacă estimezi că îl vei folosi 3 ani, suma dedusă în fiecare lună va fi 3000 : 3: 12 = 83.33 lei.

Pentru întrebări referitoare la acest subiect mă puteţi contacta prin modalităţile de contact pe care le găsiţi pe pagina Andrei


Subscribe to Un mod diferit de a privi Economia by Email
Citește în continuare ->

duminică, 19 octombrie 2014

Funcţie Custom Made Excel VBA: Distanţa Medie Alergată Lunar

Am descoperit mai demult un mic bug la aplicaţia mea de alergare pe care am postat-o şi pe blog aici. Mai exact, în sheet-ul "Years Comparison", la calcularea distanţei medii lunare, într-o singură situaţie rezultatul nu era corect: când în luna în curs nu aveam nicio alergare.

Dar haideţi să vedem exact care a fost problema ce trebuia rezolvată şi care este rezolvarea mea:

După cum puteţi vedea şi în imaginea din dreapta care se poate mări apăsând pe ea, avem o bază de date cu alergările fiecărui user din aplicaţie. (în acest exemplu, doar eu :) ). 

Am dorit să calculez Distanţa Medie lunară alergată ţinând cont de următoarele criterii:
      - se iau în considerare doar lunile în care am alergat cel puţin 1 km. Daca într-o lună nu am alergat deloc se exclude din calcularea mediei. Mai exact vreau să văd media doar în lunile în care am alergat;
        -  se iau în calcul doar distanţele alergate în luni terminate, nu şi cele din luna în curs. De exemplu, daca în lunile Ianuarie, Februarie şi Martie am alergat câte 100 de km, iar azi suntem în 1 Aprilie şi am alergat 2 km, nu trebuie să ne păcălim calculând media ca (100+100+100+2)/4 = 75.5 km lunar, deoarece rezultatul nu este corect. Trebuie să calculăm doar pentru lunile încheiate, deci în  acest exemplu media ar fi (100+100+100)/3= 100 km lunar. 
           -   trebuie să putem calcula media automat, pe fiecare an, tip de alergare şi user. Mai precis, dacă în imaginea din dreapta selectăm un alt tip de activitate sau un alt user media trebuie să se modifice, iar daca avem alergari şi în alţi ani, pe coloana anului respectiv trebuie să apară distanţa medie alergată. 

Iniţial am combinat o mulţime de funcţii Excel şi am ajuns la o formulă lungă cât o zi de post şi care nu arăta deloc bine şi în plus era şi foarte dificil de corectat. Arăta cam aşa:
De mai demult am avut ideea de a crea o User Defined Function care să arate mai "omenesc" şi să calculeze mai eficient şi mai corect, însă abia astăzi mi-am făcut timp şi chef să o creez şi să o postez pe blog pentru cei interesaţi de subiect.

Funcţia are 3 argumente obligatorii: anul, tipul alergării şi userul şi se introduce în bara de formule a Excel-ului, la fel ca funcţiile predefinite:

Cum funcţionează ?


Puteţi descărca fişierul Excel apăsând AICI.

Funcţia este creată folosind Excel VBA, iar codul care face toate calculele este cel de mai jos.

Cu siguranţă sunt şi alte metode de rezolvare a acestei probleme, deci dacă ai o idee mai bună, te rog să scrii un comentariu.
Function MonthlyDstAverage(selyear As Long, seltype As String, seluser As String) As Double

Application.Volatile True

iyear = year(Date) ' current year
Set ws = ThisWorkbook.Sheets("Data Base")

'Find the lastrow from sheet data base
If ws.Range("A4") = "" Then
lastrow = 1
Else: lastrow = ws.Range("A3").End(xlDown).Row
End If

'if the selected year is in future then the average is 0 because we cannot have runs in future
While iyear < selyear
MonthlyDstAverage = 0
Exit Function
Wend
    
cmonth = Month(Date)  'the current month

monthswithruns = 0     'months when we ran more than 0 kilometers
cmonthruns = cmonth    'the lastmonth used for calculating the average. If we ran in current month min once, the lastmonth will be current month minus 1

'-----------------------CALCULATE----------------------------------
'if the selected type of runs is All then calculate monthly average
Select Case seltype

Case "All"

'calculate the number of months with runs
   For i = 1 To cmonth
    
        If Application.WorksheetFunction.CountIfs(ws.Range("K:K"), selyear, ws.Range("J:J"), i, ws.Range("C:C"), seluser) > 0 Then
        monthswithruns = monthswithruns + 1
        End If

    Next i
    
'calculate number of runs from current month and if we ran min once then subsctract one month

        If Application.WorksheetFunction.CountIfs(ws.Range("K:K"), selyear, ws.Range("J:J"), cmonth, ws.Range("C:C"), seluser) > 0 Then
        monthswithruns = monthswithruns - 1
        cmonthruns = cmonth - 1
        End If
    
'calculate distance ran in interval matching selected criteria
    randst = 0
    For j = 1 To lastrow
        For k = 1 To cmonthruns
    
            If ws.Cells(j, 11) = selyear And ws.Cells(j, 10) = k And ws.Cells(i, 3) = seluser Then
            randst = randst + ws.Cells(j, 4).Value
            End If
        Next k
    Next j

    MonthlyDstAverage = randst / monthswithruns
'--------------------------------------------------------------------------
'if the selected type is different then All then calculate monthly average including the criteria with run type
Case Else

    'calculate the number of months with runs
    For i = 1 To cmonth
    
    If Application.WorksheetFunction.CountIfs(ws.Range("K:K"), selyear, ws.Range("J:J"), i, ws.Range("G:G"), seltype, ws.Range("C:C"), seluser) > 0 Then
        monthswithruns = monthswithruns + 1
    End If

    Next i
    
    'calculate number of runs from current month and if we ran min once then subsctract one month
        If Application.WorksheetFunction.CountIfs(ws.Range("K:K"), selyear, ws.Range("J:J"), cmonth, ws.Range("G:G"), seltype, ws.Range("C:C"), seluser) > 0 Then
        monthswithruns = monthswithruns - 1
        cmonthruns = cmonth - 1
        End If
    
    'calculate distance ran in interval matching selected criteria
    randst = 0
    For j = 1 To lastrow
        For k = 1 To cmonthruns
    
            If ws.Cells(j, 11) = selyear And ws.Cells(j, 10) = k And ws.Cells(j, 7) = seltype And ws.Cells(i, 3) = seluser Then
            randst = randst + ws.Cells(j, 4).Value
            End If
        Next k
    Next j

    MonthlyDstAverage = randst / monthswithruns

End Select

End Function

Subscribe to Un mod diferit de a privi Economia by Email
Citește în continuare ->

vineri, 3 octombrie 2014

Smart Invoicer v1.2- aplicatie facturare gratuita

Am actualizat aplicatia gratuita de facturare Smart Invoicer si am creat un tutorial video pe care il puteti vedea mai jos:



Download link Smart Invoicer v1.2
* nota pe care am omis sa o mentionez in tutorial: fisierul contine macrocomenzi si pentru a functiona complet, cand il deschideti trebuie sa apasati "Enable Content".

* *puteti trimite eventuale sugestii sau intrebari intr-un comentariu sau telefonic la numarul din sheet-ul "Instructiuni de utilizare".

Subscribe to Un mod diferit de a privi Economia by Email
Citește în continuare ->

marți, 16 septembrie 2014

Excel VBA: aplicație de calcul și analiză a zilelor lucrate și a orelor disponibile lunar


Deoarece în ultima perioadă m-am ocupat din ce în ce mai mult de automatizări în Excel și de crearea unor mici aplicații (metode) care să ușureze munca, am decis astăzi să postez un mic exemplu de cum poate fi utilizat VBA-ul în acest scop.
 
Care a fost problema ce trebuia rezolvată ?

O companie ține o evidență a angajațiilor într-un fișier Excel cu următoarele informații: 
  • Nume angajat
  • Departament, status și tip
  • Data intrare: data la care a venit în firmă 
  • Dată ieșire: data la care a plecat din firma. (dacă este angajat curent se lasă necompletat)
  • Procent alocare: cât la sută din timp lucrează pt compania analizată (de ex. Daca un angajat lucrează 70% din timp pe această firma și restul pe o altă firmă din același grup, se completeaza 70%)
Toate datele de mai sus se găsesc în sheet-ul “Baza de date”. 
Zilele de concediu luate de fiecare angajat sunt în Sheet-ul “Concedii”.
*găsiți la finalul articolului și un link de download al fișierului

Andrei, ne poti ajuta cu un raport pentru primul semestru al anului 2014 din care să reiasă Full Time Equivalent și numărul total de ore disponibile pe fiecare lună și departament ?

Full Time Equivalent înseamnă câte zile din lună a lucrat efectiv fiecare persoană raportat la numărul de zile lucrătoare total disponibile din lună. Numărul de zile lucrat efectiv de fiecare persoană trebuie calculat ținând cont de zilele de concedii și de data la care angajatul a venit/plecat din firmă pentru cazurile celor veniți sau plecați în cursul lunilor, iar numărul total de zile din lună trebuie calculat ținând cont și de zilele libere naționale.

Pentru a înțelege mai bine cerința, haideți să luăm două exemple:
  • Exemplul 1: Ion a fost angajat pe data de 13 Ianurie 2014, iar zilele 1 și 2 Ianuarie au fost zile libere naționale. În acest caz nr de zile lucrate de Ion au fost cele din intervalul 13-31 Ianuarie (nu a prins si zilele libere naționale), deci 15 zile, iar zilele totale lucrătoare disponibile din luna au fost  23 (total zile lună fără weekend-uri) – 2 (libera naționale) = 21. FTE pentru Ion în luna Ianuarie ar fi 15/21= 0.71.
  • Exemplul 2: Vasile a plecat din firmă pe 25 Aprilie 2014 (ultima lui zi a fost 25), iar zilele 20 și 21 Aprilie au fost zile libere naționale (Paștele), dar 20 Aprilie pică în weekend deci nu trebuie scăzută. De asemenea, Vasile a avut și 4 zile de concediu în intervalul 1-4 Aprillie. În acest caz, zilele lucrate de Ion au fost cele din intervalul 7- 25 Aprilie, mai puțin ziua de 21 Aprilie, deci a lucrat în total 14 zile, iar zilele totale lucrătoare din lună au fost 22 (total zile din lună fără weekend-uri) – 1 (ziua liberă națională care pică în cursul săptămânii)= 21. FTE pentru Vasile în luna Aprilie va fi 14/21= 0.67.
Metode de rezolvare a problemei:

  1. Prima metodă estecea manuală, adică să luăm la mână fiecare persoană din listă și să calculăm zilele lucrate efectiv și zilele totale din lună. Dar dacă avem 100 de angajați și 12 luni, cam cât timp ne ia să facem raportul, 3 zile ? Și dacă peste încă șase luni ni se cere încă o dată raportul actualizat la zi ? Ce facem, o luăm de la capăt cu munca de sisif ? Având în vedere aceste inconveniente, haideți să ne gândim la a doua metodă..
  2. A doua metodă: scriem un Macro care să facă automat toată această muncă la apăsarea unui buton, ori de câte ori vom avea nevoie, iar noi putem pleca liniștiți în concediu în loc să ne apucăm de calculat manual datele pentru 100 de persoane... Sau ne apucăm de alte taskuri în timpul economisit.. dacă deja am fost în concediu.
Ce a ieșit ?

După câteva ore bune de lucru și mai multe modificări (din cauză că nu mă gândisem de la început la toate cazurile și problemele posibile și din cauză că încă sunt începător în lucrul cu VBA), am reușit să scriu codul care acum rezolvă corect această problemă în doar câteva secunde, prin apăsarea unui buton, pentru orice interval de luni din anul dorit de utilizator.

DESCARCĂ FIȘIER; Puteți descărca fișierul apăsând AICI.

* fișierul conține Macrocomenzi. Pentru a activa continutul apăsati "Enable Content"
* datele din fişier sunt fictive și au rol exemplificativ. Pot fi înlocuite cu date reale pentru utilizarea aplicației.

De asemenea, codul care face toate calculele în locul nostru este acesta:
Sub take1()

'define variables
Dim anraport  As Long, lunastart As Long, lunaend As Long, i As Long, _
j As Long, r As Long, concediilegale1 As Long, concediilegale2 As Long
Dim isweekend As Boolean

Set Oldselection = Selection

'clear contents of Sheet1 columns A and H
Range("A2:H2").Select
Range(Selection, Selection.End(xlDown)).ClearContents

'take criterias input by user in the UserForm1 in order to use them later
anraport = UserForm1.TextBox1.Value
lunastart = UserForm1.TextBox2.Value
lunaend = UserForm1.TextBox3.Value

Unload UserForm1

Sheet4.Range("L2") = anraport

'Loop through the data base and then write values in Sheet1 based on _
selected criterias
r = 2

For j = 3 To Sheet2.Range("A3").End(xlDown).Row

    For i = lunastart To lunaend
        
dataintrare = Sheet2.Cells(j, 5)
dataiesire = Sheet2.Cells(j, 6)

    If Year(dataintrare) > anraport Then 'do nothing

    ElseIf Year(dataintrare) = anraport And Month(dataintrare) > i Then _
    'do nothing
            
    ElseIf Year(dataiesire) = anraport And Month(dataiesire) < i _
    And dataiesire <> "" Then 'do nothing
            
    ElseIf Year(dataiesire) < anraport And dataiesire <> "" Then _
    'do nothing
            
    Else
            
        Sheet4.Cells(r, 2) = i
        Sheet4.Cells(r, 1) = Sheet2.Cells(j, 1)
        
'calculate national holidays
        concediilegale1 = 0
        concediilegale2 = 0
        For a = 2 To Sheet5.Range("A2").End(xlDown).Row
        
        If i = Month(Sheet5.Cells(a, 1)) And Year(Sheet5.Cells(a, 1)) _
        = anraport Then
        
'check if the national holiday falls in weekend or not
                Select Case Weekday(Sheet5.Cells(a, 1))
                Case vbSaturday, vbSunday
                isweekend = True
                Case Else
                isweekend = False
                End Select
'national holidays for every user based on the date he joined the company
                If dataintrare > Sheet5.Cells(a, 1) Or isweekend = True Then
                concediilegale1 = 0
                Else: concediilegale1 = concediilegale1 + 1
                End If
        'national holidays for each month's working days
                If isweekend = True Then
                concediilegale2 = 0
                Else: concediilegale2 = concediilegale2 + 1
                End If
             
        End If
        Next a

'calculate Networkdays for every user based on the days the users came/left _
the company and on the selected criteria
        If Month(dataintrare) = i And Year(dataintrare) = anraport _
        And Month(dataiesire) <> i Then
            Sheet4.Cells(r, 3) = Application.WorksheetFunction.NetworkDays _
            (dataintrare, DateSerial(Year(dataintrare), Month(dataintrare) + 1, 0)) _
            - concediilegale1
        ElseIf Month(dataiesire) = i And dataiesire <> "" _
        And Year(dataiesire) = anraport Then
            Sheet4.Cells(r, 3) = Application.WorksheetFunction.NetworkDays _
            (DateSerial(Year(dataiesire), Month(dataiesire), 1), dataiesire) _
            - concediilegale1
        Else: Sheet4.Cells(r, 3) = Application.WorksheetFunction.NetworkDays _
        (DateSerial(anraport, i, 1), DateSerial(anraport, i + 1, 0)) _
        - concediilegale1
        End If
        
'Calculate networkdays for every months and then substract the national holidays which _
are set in Sheet "Sarbatori legale"
        Sheet4.Cells(r, 4) = Application.WorksheetFunction.NetworkDays _
        (DateSerial(anraport, i, 1), DateSerial(anraport, i + 1, 0)) _
        - concediilegale2
        
'Calculate the next columns:Holidays, Networkdays minus Holidays and Full Time Equivalent
Sheet4.Cells(r, 5).FormulaR1C1 = _
"=SUMIFS(Concedii!C[4],Concedii!C[-2],Sheet1!RC[-4],Concedii!C[-3],Sheet1!RC[-3],Concedii!C[-4],Sheet1!R2C12)"
Sheet4.Cells(r, 6).FormulaR1C1 = "=RC[-3]-RC[-1]"
Sheet4.Cells(r, 7).FormulaR1C1 = _
"=RC[-1]/RC[-3]*SUMIFS('Baza de date'!C,'Baza de date'!C[-6],Sheet1!RC[-6],'Baza de date'!C[-5],Sheet1!RC[1])"
       
       Sheet4.Cells(r, 8) = Sheet2.Cells(j, 2)
       
       Columns("E:G").NumberFormat = "0.00"
       
       r = r + 1
        
    End If
    
    Next i
    
Next j
        
Oldselection.Activate
    
End Sub
Cu siguranță există și alte metode de rezolvare a problemei. De aceea, dacă aveți idei, lasați un comentariu :)

Subscribe to Un mod diferit de a privi Economia by Email
Citește în continuare ->

vineri, 11 iulie 2014

Strategie de intrare pe o acțiune la bursă

În acest comunicat, Erste Bank (EBS) a previzonat pierderi cauzate de constituirea de provizoane de risc suplimentare în România și Ungaria. Acesta este motivul pentru care prețul unei acțiuni EBS s-a prăbușit în ultima săptămână cu aproximativ 20% ajungând în jurul valorii de 80 de ron în condițiile în care la începutul anului se situa peste valoarea de 120 de lei:


Bineînțeles că EBS are un portofoliu "solid" de credite neperformante în prezent, dar cu toate acestea este cert faptul că nu va da faliment (istoria Erste Bank a început în 1819, nu a dat faliment în vremuri mult mai grele, are un brand solid și oricum este "too big to fail"), iar în cazul unor probleme mai serioase cu siguranță guvernele vor sări în ajutor. 

De aceea, consider scăderea prețului acțiunilor EBS o oportunitate de a face profit pe termen mediu-lung (1-3 ani). De aceea, scenariul de intrare pe care îl aplic și vi-l propun și vouă este următorul:

Este posibil să nu vedem prețuri mai mici de 60-70 ron (la bursă nimic nu este sigur), deci puteți aloca 10-50% din portofoliu (în funcție disponibilități și de aversiunea față de risc) pentru acțiunile EBS, întrând la cumpărare treptat și urmărind evoluția prețului. Trebuie să luați în considerare însă că această investiție este una cu un grad de risc ridicat și de aceea nu este recomandat să investiți bani de care veți avea neapărată nevoie în viitorul apropiat.  


Warren Buffet spunea: "If, when making a stock investment, you're not considering holding it at least ten years, don't waste more than ten minutes considering it".  

Subscribe to Un mod diferit de a privi Economia by Email
Citește în continuare ->

sâmbătă, 5 iulie 2014

Calculator scenarii Stop Loss și Take Profit pentru bursă


Cum funcționează ?
1. Introduceți compania, prețul unitar al unei acțiuni și numărul de acțiuni pe care doriți să le cumpărați. Introduceți și comisionul negociat cu firma de brokeraj.
2. Introduceți valorile de Stop Loss și Take Profit. Stop Loss înseamna procentul maxim de pierdere pe care îl putem suporta, în cazul scăderii prețului acțiunilor. Calculatorul va genera valoarea prețului la care trebuie să vindem, cât va fi pierderea totală și din ce se compune (comision si diferențe de preț). Take Profit înseamnă marja de profit pe care o dorim în cazul în care prețul acțiunilor va crește. Calculatorul va genera valoarea prețului la care trebuie să vindem, cât va fi profitul total, din ce se compune (profit net și impozit pe profit 16%) și cât va fi comisionul total generat pentru firma de brokeraj.

Puteți descărca și fisierul Excel apăsând AICI.
Citește în continuare ->

marți, 24 iunie 2014

Running Performance Analyzer App

I usually write on this blog posts related to economy and in Romanian, but today i will make an exception and present an Excel app designed for long-distance runners. As the app is in English, it can be used also by users who don't speak Romanian.  

Why a running app ?

In my free time I am a distance runner too and for 5 years of running I was tracking all distances on paper, so I had on the desk dozens of little papers containing numbers that gave only the information about my monthly distances. Considering this, one day when the stack of papers became too large, I decided to create a small run tracking app that will help me to do this better and easier. The Running Performance Analyzer App was first desingned for my own personal use, to display data about my runs the way i wanted to see it. Of course, there are GPS watches and Android or IOS apps that track data and you can export it to PC and play with it, but i wanted to have it this way. While developing the app, i thought to make it customizable and to offer it for free use to other runners who want to long-term keep track and analyze their runs with it. 

You can see a brief Powerpoint presentation of the App and follow direct download links bellow:

Download Running Performance Analyzer App- v02_unprotected
Upgrade with user defined function for monthly distance average and unprotected code
Download Running Performance Analyzer App- v01


* Use the bottom right button to maximize screen

Download also Smart Invoicer

Subscribe to Un mod diferit de a privi Economia by Email
Citește în continuare ->