You are on page 1of 33

CHAPTER ONE 1.1.

INTRODUCTION Individuals may receive various types of income such as wages or salary from employment, rent from letting houses or buildings, interest from lending/saving money, and profit from their trading activities or business. These individuals are required to pay income tax. They are ordered to do so by income tax proclamations, regulation and directives. The law specifies how and when these individuals have to pay the required tax. This article deals especially with the aspect of the law which applies to individuals who earn income from employment. According to the law, individuals who obtain income from their employment are required to pay tax. In line with internationally recognized best practice, employees income tax liabilities are calculated and paid directly by their employer. As a result the government relies on employers to compute and withhold the tax to be paid by employees. To discharge this responsibility properly, employers may need to know in advance what counts as income or shall be able to distinguish what kind of income is to be taxed or not. This article provides guidance to help employers in this respect. Taxes are important sources of public revenue. The existence of collective consumption of goods and services necessitates putting some of our income into government hands. Despite the fact that people need to pay taxes based on rationales of vertical and horizontal equities, it is not always the case that tax systems are comprehensible and transparent for tax payers especially for less literate business operators. Tax systems are usually not elaborated after proper consultation with the business community.

1.2. Background The project is conducted in Jimma zone, Agaro woreda on how to facilitate or make easy to collect tax from employees of woreda. The purpose of study is to change manual tax collection system to be automated to computer system for fast and easy accessibility to tax collection. The goal of this system is to facilitate financial process and tax collection of salaried employees according to employee taxation principle. Besides it reduces load on finance workers of the woreda. 1.3. Statement of Problem Loss of data of tax collection Improper handling of file ,error calculation of tax system. Excessive prevalence of fraud among tax collectors. Lack of accuracy, security and safety of tax. Manual system is so slowest to bills and documents Customer over crowed for paying tax due to manual working system. 1.4. Objective Our studies minimize the effort of finance workers that spent while searching the manual and manual calculation of tax from employees. To overcome the problem that daily affect finance workers as well as employee; To use human resource ,time and budget effectively; Easy access to tax collection system of woreda; Fast and easy understanding of net monthly income, annual income and tax to be paid from the salary of employees.

1.5. Scope of Project Individuals may receive various types of income such as wages or salary from employment, rent from letting houses or buildings, interest from lending/saving money, allowance ,conveyance allowance and to calculate net monthly income, rebate, net annual income, and tax paid from these income of employees ,tax from renting is calculated and tax from interest. These individuals are required to pay income tax. They are ordered to do so by income tax proclamations, regulation and directives. The law specifies how and when these individuals have to pay the required tax. This project deals especially with the aspect of the law which applies to individuals who earn income from employment. According to the law, individuals who obtain income from their employment are required to pay tax. In line with internationally recognized best practice, employees income tax liabilities are calculated and paid directly by their employer. As a result the government relies on employers to compute and withhold the tax to be paid by employees. To discharge this responsibility properly, employers may need to know in advance what counts as income or shall be able to distinguish what kind of income is to be taxed or not. This Project shall apply to residents of Agaro Woreda with respect to their worldwide income.

1.6. Limitation Of Project In general we encounter different types of limitations. The most common is listed below. Time: This was a major constraint in that the work had to be handled in addition to the academic requirements of our project coupled with dead line of submission and defense of the whole project work. Finance (money): The cost of gathering analysis data obtained primary and secondary source, typing and binding as well as other indirect expenses incurred posed a problem towards the successful of this project. 1.7. Method Of Data Collections We use different data collection for our project some the following listed below: interview, be sure to: Maintain a friendly and open manner. we state questions clearly and tactfully. we ask open-ended questions. we ask if there is any job information the employee would like to add to what is on the tax. we ask the employee to show you things mentioned in the tax that will clarify the duties, such as reports prepared, records maintained, equipment operated. we ask the employee which is the most difficult and complex task and why. Ask the employee which is the most routine repetitive task and why. we ask the employee to explain any task not clearly described in the tax. we ask the employee to describe examples of when approval or direction from the from tax collector is necessary..

1.7.1

Group Interviews In gathering information for a study of a class or class series, a group may be more efficient. The interview must be planned carefully with key questions which encourage group discussion. For example, a group meeting could yield a comprehensive list of tasks for a particular job.

CHAPTER TWO

2.1. Tax on Income from Employment / Personal Income Tax / 2.1.1. What is Employment Income Tax? Employment income tax is a tax on the earnings of an employee. The government collects this tax from any individual employees, other than contractors, engaged whether on a permanent or temporary basis to perform services under the direction and control of the employer. Employment income includes any payment or gain in cash or in kind received from employment by the employee subject to certain exemption Every person deriving income from employment is liable to pay tax on that Income at the rate specified in Schedule as follows:

Schedule Employment Income (per month) over Birr 0 151 651 1401 2351 3551 >5000 To birr 150 650 1400 2350 3550 5000 Threshold 10 15 20 25 30 35 _ 15 47.5 117.5 235.00 412.5 662.50 Tax (in%) Rate Deduction (in Birr)

Monthly Salary of 500.00 Birr - Personal Income Tax = 500 Birr x 10% tax rate = 50 Birr - Deduction = 50 Birr - 15 Birr deduction fee - Tax payment = 35 Birr

Employment income shall include any payments or gains in cash or in kind received from employment by an individual. Employers have an obligation to withhold the tax from each payment to an employee, and pay the Tax Authority the amount withheld during each calendar month. In applying the procedure, income attributable to the months of Nehassie and Pagume shall be aggregated and treated as the income of one month. If the tax on income from employment, instead of being deducted from the salary or wage of the employee, is paid by the employer in whole or in part, the amount so paid shall be added to the taxable income and shall be considered as part. The following categories of income shall be exempt from payment of personal income tax: Income from employment received by casual employees who are not regularly employed provided that they do not work for more than one month for the same employer in any twelve months; Pension contribution, provident fund and all forms of retirement benefits contributed by employers in an amount that does not exceed 15% of the monthly salary of the employee; Payments made to a person as compensation or gratitude in relation to personal injuries suffered by that person or death of another person; Amounts paid by employers to cover the actual cost of medical treatment of employees; 2.1.2 Tax on Income from Rental of Buildings This is the tax imposed on the income from rental of buildings. If the taxpayer leased furnished quarters, the amounts received attributable to the lease of furniture and equipment would be included in the income and taxed. The tax payable on rented houses would be charged at the following rates: On income of bodies 30% of taxable income On income of persons according to the following schedule next page: Taxable Income from Rental Income Tax Deduction of Buildings (per year) Payable(in%) (in Birr) over Birr to Birr 0 1,800 10 _ 1,801 7,801 15 180.00 7,801 16,800 20 570.00 26,801 28,200 25 1410.00 28,601 42,600 30 2820.00 42,601 60,000 4950.00 > 60,000 35 7950.00

Example: Computation of Rental Income Tax Net profit per-year/Taxable Income 38, 000.00 Birr - Rental Income Tax = 38,000 Birr x 25% tax rate = 9,500 Birr - Deduction = 9,500 Birr -2,820 Birr deduction fee - Tax payment = 6,680 Birr

The owner of a building who allows a lessee to sub-lease is liable for the payment of the tax for which the sub-lessor is liable, in the event the sub-less or fails to pay when the construction of a rental building is completed or when the building is rented, the owner and the builder are required to notify the administration of the Kebele in which the building is situated about such completion and the name, address, and tax identification number of the person or persons subject to tax on income from rental of building; The Kebele administration has the obligation to Communicate the information obtained to the appropriate tax authority. 2.1.3 Tax on Interest Income on Deposits Every person deriving income from interest on deposits shall pay tax at the rate of 5%. The payers are required to withhold the tax and account to the Tax Authority. 2.1Assessment of the Tax

If after review by the Tax Authority, it appears that a person has understated his tax obligation, the Authority can issue an additional assessment; If, for any reason, the books of account are unacceptable to the Tax Authority, or if the tax payer fails to submit same when requested by the Authority, or if no books of account and supporting documents are maintained, the Tax Authority would assess the tax on the basis of information available; The assessment made would be prepared in an assessment notification and be delivered to the taxpayer; If the Authority makes an additional assessment and within a years of notice the person assessed does not pay the additional assessment or appeal the assessment the person is in default; If the Tax Authority fails to assess the tax and notify the taxpayer of the amount still due within five years from the date of declaration and payment of the tax by the taxpayer the tax so paid would be final and conclusive. In case where the taxpayer has not declared his income or has submitted a

2.2. Obligations of the taxpayer: Maintaining books of accounts and supporting documents in accordance with proper accounting principles and in a manner acceptable to the Tax Authority; Submit every 30 days to the Tax Authority, in a form which would be supplied by the Authority, a declaration containing the necessary information for the proper collection of the tax; Comply fully with the requirements of inspection of his premises by the delegates of the Tax Authority; Immediately communicate to the Tax Authority the type and address as well as the commencement and termination date of his business; Pay in full the tax due within 30 days from the date of termination where such business is terminated.

2.3. Time and Manner of Payment The stamp duty would be paid: On memorandum and articles of association, before or at the time of registration; on awards, before or at the time of issuance of the award; on contracts or agreements, before or at time of signature; on leases or sub-leases, before or at the time of signature; on notaries acts, at the time of issuance; on security deeds, before or at the time of signature; on documents of title to property, before or at the time Issuance is affected. The payment of stamp duty Under Birr 50 would be effected by affixing stamp of appropriate value to the instrument; when the stamp duty exceeds Birr 50 or where the type and nature of instrument so requires, the Federal Government 2.4. Assessment Notification Every assessment notification should contain the following elements: a) Gross income and deductions applicable; b) Taxable income; c) Rates applicable or percentage; d) Taxes paid and due; e) Any penalty or interest; f) Taxpayers name, address, and TIN (tax identification number); and g) Brief explanation of the assessment and a statement of the tax payment. 2.5 Obligation to pay Income Tax Every person having income as defined herein shall pay income tax in accordance with this project. also the constitution of country 2.6. Source of Income Income taxable under this project shall include, but not limited to: Income from employment; Income from rent house (buildings) activities; Income from saving Income from allowance 2.7. Determination of Employment Income Employment income shall include any payments or gains in cash or in kind received from Employment by an individual, including income from former employment or otherwise or from prospective employment. The type of taxable fringe benefits and the manner of their assessment shall be Determined by Regulations to be issued by the Council of Ministers. Income received in the form of wages does not include representation and other similar Expenditures (on social functions, guest accommodations, etc.)

CHAPTER THREE 3.1. Features Of Study These project do many things forAgaroo woreda finance .the project provide employee taxation net monthly income; net annual income; rebate; tax to paid from salary; deduction; Allowance; conveyance allowance; 3.2. Proposed Design Of Project Algorithm of derange allowance If(emphavederange allowance) da=(rate of da *basic payment)/100 ba=basic payment+da else ba=bp algorithm of renthouse if( rent house =yes) house rent(hre)=(rate of rate *bp )/100 ba=ba-hre else ba=bp Algorithm of conveyance allowance Enter rate of conveyance allowance Ca=(rate of ca*bp)/100 Ba=ba+ca Algorithm for providend fund deduction Ifprovidend fund Enter rate Pfde=(rate of pfde *bp)/100 Ba=ba-pf If (pf>=ba) Display error Else Salary =ba So net monthly =employee salary =ba Standard tax deduction If bp<=150 No tax payment Set tax rate=0
8

Else if bp>150 &&bp<650 Emp salary =(empbp-150)*0.1 Else if emp bp<1400 &&bp>650 Emp bp=(bp-650)*.15 Etc. If (tax >0) Sum=0 For (n=0, n<saving ,n++) Sum= sum+ amount Rebate =(0.1* 12*sum) If( rebate < salary) Net tax =tax rebate Monthly tax = net/12 Deduction =salary-net tax Income = deduct /12 in come per month If (tax == 0 ) Employee have only salary CHAPTER FOUR //IMPLEMANTATION Made for the purpose of EDUCATION only #include<iostream.h> #include<iomanip.h> #include<graphics.h> #include<fstream.h> #include<conio.h> #include<dos.h> #include<stdio.h> #include<string.h>
9

#include<process.h> #include<ctype.h> void line_hor(int r1, int c1, int c2) { for(int i=c1;i<=c2;i++) { gotoxy(i,r1); cout<<""; }// } void line_ver(int c1, int r1, int r2) { for(int i=r1+1;i<=r2;i++) { gotoxy(c1,i); cout<<""; } // } void box(int row1, int row2, int col1, int col2) { line_hor(row1,col1,col2); line_ver(col1,row1,row2); line_hor(row2,col1+1,col2); line_ver(col2,row1,row2); } int cnt=0; /*struct date { short dd,mm,yy; };*/ struct address { char h_no[10]; char kebele[20]; char city[15]; char country[15]; }; class employee
10

{ public : char *n; long salary1,salary2,income,deduct,month,bp,I,net,amount[5]; long tax,rebate,saving,age,code,cca,a,ba,hra,t1; long da,con,pfded,rate1,rate2,rate3,rate4,rate5; char name[20],dob[9],doj[9],designation[20],u,v,s,w,tel[20]; char *mode[10]; address ad; employee() { strcpy(n,"abcd"); } void list(void); void totcode(void); int found(int); void mainmenu(void); void quit(void); void setgraphic(void); void intro(void); void adddata(void); void sintro(void); }temp; void employee::intro(void) { clrscr(); int l=11; char *k; box(9,15,22,55); for(int pi=0;pi<3;pi++,l++) { gotoxy(25,l); k=getpass("ENTER PASSWORD"); if(strcmp(k,n)==0) { sintro(); break;
11

} } if(pi==3) { clrscr(); box(9,15,22,60); gotoxy(25,11); cout<<"Have a nice day.............!!"; textbackground(BLUE); textcolor(YELLOW+BLINK); gotoxy(25,13); cprintf(" ********** Good Bye ********** "); getchar(); textcolor(WHITE); textbackground(BLACK); exit(-2); } } void employee::sintro(void) { char i; clrscr(); box(11,15,22,65); gotoxy(25,13); cprintf(" THIS IS A PROJECT ON TAXATION" ); for(i=500;i>100;i=i-100) { sound(i); delay(1000); nosound(); } for(int j=100;j<=500;j=j+100) { sound(j); delay(1000); nosound(); } delay(1000);
12

clrscr(); cout<<endl; gotoxy(25,10); cout<<"-"<<endl; gotoxy(25,12); cout<<"PREPARED BY"; gotoxy(25,14); cout<<" ABDETA IMI "<<endl; gotoxy(25,16); cout<<" MADER ADEM "; gotoxy(25,18); cout<<" GUTEMA SOBOKA"<<endl; gotoxy(25,20); cout<<" GUYO MAMO "<<endl; gotoxy(25,22); cout<<"NATNEAL ABERA "<<endl; gotoxy(25,24); cout<<" ISHETU TAMIRAT"<<endl; gotoxy(25,26); cout<<"-"<<endl; delay(1000); for(i=500;i>100;i=i-100) { sound(i); delay(1000); nosound(); } for(j=100;j<=500;j=j+100) { sound(j); delay(1000); nosound(); } mainmenu(); } } int employee::found(int c)
13

{ employee temp; fstream f; f.open("e.dat",ios::in); f.seekg(0,ios::beg); int found=0; while(f.read((char *)&temp, sizeof(employee))) { if(c==temp.code) { found=1; break; } } f.close(); return found; } void employee::adddata() { fstream outfile; char ch='y'; int vaild=0; //rectangle(1,1,625,475); while(ch=='y') { outfile.open("e.dat",ios::binary|ios::app); clrscr(); while(vaild==0) { clrscr(); gotoxy(5,2); cout<<"ENTER EMPLOYEE CODE IN NUMBERS"; gotoxy(55,2); cout<<":"; gotoxy(63,2); clreol(); cin>>code; if(found(code)==1)
14

{ vaild=0; gotoxy(5,25); clreol(); cout<<"\7 EMPLOYEE CODE IS ALREADY EXISTING ......"; delay(2000); } else if(code>0 && code<9999) vaild=1; else { vaild=0; gotoxy(5,25); clreol(); cout<<"\7 ERROR MESSAGE : CODE RANGE (1.....100000)"; delay(2000); } } vaild=0; while(vaild==0) { int j=0; gotoxy(5,4); cout<<"ENTER EMPLOYEE NAME"; gotoxy(55,4); cout<<":"; gotoxy(63,4); clreol(); cin.getline(name,30); if(strlen(name)>0) { for(int t=0;name[t]!='\0';t++) { if(islower(name[t])>0 || isupper(name[t])>0) j=1; else j=0; }
15

if(j==0) { vaild=0; gotoxy(5,25); clreol(); cout<<"\7 ERROR MESSAGE : INVAILD NAME"; delay(2000); } else vaild=1; } } vaild=0; while(vaild==0) { int j=0; gotoxy(5,6); cout<<"ENTER DESIGNATION"; gotoxy(55,6); cout<<":"; gotoxy(63,6); clreol(); cin.getline(designation,20); if(strlen(designation)>0) { for(int t=0;designation[t]!='\0';t++) { if(islower(designation[t])>0 || isupper(designation[t])>0) j=1; else j=0; } if(j==0) { vaild=0; gotoxy(5,25); clreol(); cout<<"\7 ERROR MESSAGE : DESIGNATION CAN'T CONTAIN DIGITS";
16

delay(2000); } else vaild=1; } else { vaild=0; gotoxy(5,25); clreol(); cout<<"\7 ERROR MESSAGE : DESIGNATION CANNOT BE EMPTY"; delay(2000); } } vaild=0; while(vaild==0) { gotoxy(5,8); cout<<"ENTER DATE OF BIRTH(dd/mm/yy)"; gotoxy(55,8); cout<<":"; gotoxy(63,8); clreol(); gets(dob); if((dob[0]>'3')||(dob[3]>'1') ||(dob[0]=='3'&& dob[3]>'1') ||(dob[3]=='1'&& dob[4]>'2')) { vaild=0; gotoxy(5,25); clreol(); cout<<"\7 ERROR MESSAGE : DATE OF BIRTH"; delay(2000); } else vaild=1; } vaild=0;
17

while(vaild==0) { gotoxy(5,10); cout<<"ENTER EMPLOYEE'S AGE"; gotoxy(55,10); cout<<":"; gotoxy(63,10); clreol(); cin>>age; if(age>0 && age<115) vaild=1; else { vaild=0; gotoxy(5,25); clreol(); cout<<"\7 ERROR MESSAGE : AGE RANGE (1...115)"; delay(2000); } } gotoxy(5,12); cout<<"ENTER YOUR HOUSE NUMBER"; gotoxy(55,12); cout<<":"; gotoxy(63,12); cin>>ad.h_no; gotoxy(5,14); cout<<"ENTER YOUR Region "; gotoxy(55,14); cout<<":"; gotoxy(63,14); cin>>ad.kebele; gotoxy(5,16); cout<<"ENTER YOUR CITY"; gotoxy(55,16); cout<<":"; gotoxy(63,16); cin>>ad.city;
18

gotoxy(5,18); cout<<"ENTER YOUR COUNTRY"; gotoxy(55,18); cout<<":"; gotoxy(63,18); cin>>ad.country; clrscr(); gotoxy(5,2); cout<<"ENTER TELEPHONE NO."; gotoxy(55,2); cout<<":"; gotoxy(63,2); gets(tel); gotoxy(5,4); cout<<"ENTER DATE OF JOINING(dd/mm/yy)"; gotoxy(55,4); cout<<":"; gotoxy(63,4); gets(doj); if((dob[0]>'3')||(dob[3]>'1') ||(dob[0]=='3'&&dob[3]>'1') ||(dob[3]=='1'&&dob[4]>'2')) { cout<<endl; gotoxy(5,5); cout<<"ERROR MESSAGE"<<endl; gotoxy(5,6); cout<<"ENTER DATE OF JOINING AGAIN"; gotoxy(55,6); cout<<":"; gets(doj); clrscr(); } gotoxy(5,8); cout<<"ENTER BASIC SALARY"; gotoxy(55,8); cout<<":"; gotoxy(63,8);
19

cin>>bp; gotoxy(5,10); cout<<"GETTING DAERANCE ALLOWANCE(Y/N)"; gotoxy(55,10); cout<<":"; gotoxy(63,10); u=getch(); if(u=='y'||u=='Y') { gotoxy(5,12); cout<<"ENTER THE RATE"; gotoxy(55,12); cout<<":"; gotoxy(63,12); cin>>rate1; da = (rate1*bp)/100; ba = bp + da; } else ba=bp; gotoxy(5,14); cout<<"PAYING HOUSE RENT(Y/N)"; gotoxy(55,14); cout<<":"; gotoxy(63,14); v=getch(); if(v=='y'||v=='Y') { gotoxy(5,16); cout<<"ENTER THE RATE"; gotoxy(55,16); cout<<":"; gotoxy(63,16); cin>>rate2; hra = (rate2*bp)/100; ba = ba - hra; } gotoxy(5,18);
20

cout<<"ENTER THE RATE FOR CCA"; gotoxy(55,18); cout<<":"; gotoxy(63,18); cin>>rate3; cca = (rate3*bp)/100; ba = ba + cca; gotoxy(5,20); cout<<"GETTING CONVEYANCE ALLOWANCE(Y/N)"; gotoxy(55,20); cout<<":"; gotoxy(63,20); w=getch(); if(w=='y'||w=='Y') { gotoxy(5,22); cout<<"ENTER THE RATE"; gotoxy(55,22); cout<<":"; gotoxy(63,22); cin>>rate4; con = (rate4*bp)/100; ba = ba + con; } while(1) { clrscr(); gotoxy(5,2); cout<<"ENTER RATE OF PROVIDEND FUND DEDUCTION"; gotoxy(55,2); cout<<":"; gotoxy(63,2); cin>>rate5; pfded = (rate5*bp)/100; if(pfded>= ba) { cout<<"ERROR MESSAGE:INPUT AGAIN"<<endl; continue;
21

} else { ba = ba- pfded; salary1 = ba; break; } } gotoxy(5,4); cout<<"NET MONTHLY"; gotoxy(55,4); cout<<":"; gotoxy(63,4); cout<< salary1<<endl; salary2 = 12* salary1; gotoxy(5,6); cout<<"ENTER NO. OF SAVINGS(OTHER THAN PF)"; gotoxy(55,6); cout<<":"; gotoxy(63,6); cin>> saving; //gotoxy(5,8); for(int n=0,z=8;n< saving;z+=2,n++) { gotoxy(5,z); cout<<"ENTER THE MODE OF SAVING (CURRENT/FIXED)"; gotoxy(55,z); cout<<":"; gotoxy(63,z); cin>> mode[n]; gotoxy(5,z+2); cout<<"ENTER THE AMOUNT :\t"; gotoxy(55,z+2); cout<<":"; gotoxy(63,z+2); cin>> amount[n]; } outfile.write((char *)this, sizeof(employee));
22

outfile.close(); cout<<"\n\t\tDO U WISH TO CONTINUE........\t"; ch=getch(); } } void employee::totcode(void) { clrscr(); employee e; fstream f; int cnt=0; f.open("e.dat",ios::in|ios::binary); f.seekg(0,ios::beg); f.read((char *)&e, sizeof(employee)); int j=10; while(!f.eof()) { if(j==10) { box(1,25,1,79); gotoxy(5,2); cout<<"================================================================="; gotoxy(5,4); cout<<" ****AGARO WOREDA EMPLOYEE TAXATION LIST****"; gotoxy(5,6); cout<<"================================================================="; gotoxy(10,8); cout<<"S. NO."; gotoxy(20,8); cout<<"CODE NUMBER"; gotoxy(45,8); cout<<"NAME"; } cnt++; gotoxy(10,j); cout<<cnt;
23

gotoxy(20,j); cout<<e.code; gotoxy(45,j); cout<<e.name; f.read((char *)&e, sizeof(employee)); j+=1; if(j==30) { j=4; gotoxy(25,2); cout<<"Press any key to continue....\t"; } } getch(); } void employee::list(void) { clrscr(); employee e; fstream f; int cod,flag; box(7,11,22,55); gotoxy(25,9); cout<<"ENTER EMPLOYEE CODE FOR DETAILS \t"; cin>>cod; f.open("e.dat",ios::in|ios::binary); f.seekg(0,ios::beg); f.read((char *)&e, sizeof(employee)); while(!f.eof()) { if(e.code==cod) { clrscr(); box(1,25,1,79); textcolor(10+BLINK); cprintf(" ================= 2003 - 2005=================="); gotoxy(5,2);
24

textcolor(WHITE); gotoxy(5,4); cout<<" ****AGARO KEBELE ****"<<endl; gotoxy(5,6); cout<<"STANDARD DEDUCTION IS 1/3 OF ANNUAL INCOME SUBJECT TO MAXIMUM OF 1500"<<endl; gotoxy(5,8); cout<<"INCOME * * * * * * * * * * * * * * * * * * *TAX"<<endl; gotoxy(5,10); cout<<"UPTO 150 NIL"<<endl; gotoxy(5,12); cout<<"151 TO 650 10% OF MONEY EXCEEDING 150"<<endl; gotoxy(5,14); cout<<"651 TO 1400 15% OF MONEY EXCEEDING 651 +22.5<<endl; gotoxy(5,16); cout<<1401 TO 2550 20%OF MONEY EXCEEDING 1401+30<<endl; gotoxy(5,18); cout<< 2551 TO 3550 25% OF MONEY EXCEEDING 2551+37.<<endl; gotoxy(5,20); cout<<3551 TO 5000 30% OF MONEY EXCEEDING 3551 +42<<endl; gotoxy(5,22); cout<<"ABOVE 5000 35% OF MONEY EXCEEDING 5000 +52"<<endl; gotoxy(5,18); cout<<"REBATE 10% OF TOTAL SAVINGS"<<endl; gotoxy(5,20); cout<<" ************************************************************"<<endl; //cout<<"\nPRESS A KEY TO RETURN"; //getchar(); textbackground(BLUE); textcolor(YELLOW+BLINK); gotoxy(5,24); cout<<"WAIT FOR NEXT SCREEN................"; delay(4000); textbackground(BLACK); textcolor(WHITE); clrscr(); //rectangle(1,1,625,475); box(1,25,1,79);
25

gotoxy(5,4); cout<<"NAME"; gotoxy(45,4); cout<<":"; gotoxy(50,4); cout<<e.name; gotoxy(5,6); cout<<"AGE"; gotoxy(45,6); cout<<":"; gotoxy(50,6); cout<<e.age; gotoxy(5,8); cout<<"ADDRESS"; gotoxy(45,8); cout<<":"; gotoxy(50,8); cout<<ad.h_no<<" "<<ad.kebele<<" "<<ad.city<<" "<<ad.country; gotoxy(5,10); cout<<"TELEPHONE NO."; gotoxy(45,10); cout<<":"; gotoxy(50,10); cout<<e.tel; gotoxy(5,12); cout<<"BASIC SALARY"; gotoxy(45,12); cout<<":"; gotoxy(50,12); cout<<e.bp; gotoxy(5,14); cout<<"NET MONTHLY SALARY"; gotoxy(45,14); cout<<":"; gotoxy(50,14); cout<<e.salary1; gotoxy(5,16); cout<<"ANNUAL SALARY IS";
26

gotoxy(45,16); cout<<":"; gotoxy(50,16); cout<<e.salary2; e.a=((e.salary2)/3); if(e.a<1500) { gotoxy(5,18); cout<<"STANDARD DEDUCTION IS"; gotoxy(45,18); cout<<":"; gotoxy(50,18); cout<<e.a; e.t1=e.salary2-e.a; gotoxy(5,20); cout<<"TAXABLE INCOME IS"; gotoxy(45,20); cout<<":"; gotoxy(50,20); cout<<e.t1; } else { gotoxy(5,18); cout<<"STANDARD DEDUCTION IS "; gotoxy(45,18); cout<<":"; gotoxy(50,18); cout<<"1500"; e.t1=e.salary2-15000; gotoxy(5,20); cout<<"TAXABLE INCOME IS"; gotoxy(45,20); cout<<":"; gotoxy(50,20); cout<<e.t1; } if(e.t1<=150)
27

{ e.I=0; gotoxy(5,22); cout<<"TAX IS"; gotoxy(45,22); cout<<":"; gotoxy(50,22); cout<<e.I<<endl; } if(e.t1<=650 && e.t1>151) { e.I=(e.t1-150)*0.1; gotoxy(5,22); cout<<"TAX IS"; gotoxy(45,22); cout<<":"; gotoxy(50,22); cout<<e.I<<endl; } if(e.t1==1400 && e.t1>650) { e.I=(((e.t1-1400*0.15)+30); gotoxy(5,22); cout<<"TAX IS"; gotoxy(45,22); cout<<":"; gotoxy(50,22); cout<<e.I<<endl; } if(e.t1>5000) { e.I=(((e.t1-5000)*0.35)+52); gotoxy(5,22); cout<<"TAX IS"; gotoxy(45,22); cout<<":"; gotoxy(50,22); cout<<e.I<<endl;
28

} textbackground(WHITE); textcolor(BLACK+BLINK); cprintf(" *** PRESS A KEY TO CONTINUE *** "); textbackground(BLACK); textcolor(WHITE); getch(); //delay(4000); if(e.I>0) { clrscr(); int sum=0; for(int n=0;n<e.saving;n++) sum=sum+e.amount[n]; e.rebate=(0.2*12*sum); if(e.rebate<=e.I) { gotoxy(5,4); cout<<"REBATE IS"; gotoxy(45,4); cout<<":"; gotoxy(50,4); cout<<e.rebate; e.net=e.I-e.rebate; e.month=(e.net/12); gotoxy(5,6); cout<<"NET TAX AFTER REBATE IS"; gotoxy(45,6); cout<<":"; gotoxy(50,6); cout<<e.net; gotoxy(5,8); cout<<"TAX PER MONTH IS"; gotoxy(45,8); cout<<":"; gotoxy(50,8); cout<<e.month; e.deduct=e.salary2-e.net;
29

gotoxy(5,10); cout<<"INCOME PER YEAR AFTER DEDUCTING TAX IS"; gotoxy(45,10); cout<<":"; gotoxy(50,10); cout<<e.deduct; e.income=e.deduct/12; gotoxy(5,12); cout<<"INCOME PER MONTH AFTER DEDUCTING TAX IS"; gotoxy(45,12); cout<<":"; gotoxy(50,12); cout<<e.income; } } if(e.I==0) { clrscr(); gotoxy(25,12); cout<<"INCOME PER YEAR IS"; gotoxy(45,12); cout<<":"; gotoxy(50,12); cout<<e.salary2; gotoxy(25,14); cout<<"INCOME PER MONTH IS"; gotoxy(45,14); cout<<":"; gotoxy(50,14); cout<<e.salary1; gotoxy(5,25); textbackground(WHITE); textcolor(BLACK+BLINK); cprintf(" *** PRESS A KEY TO CONTINUE ***"); textbackground(BLACK); textcolor(WHITE); getch();
30

// delay(3000); clrscr(); box(8,12,18,40); gotoxy(20,10); textcolor(10+BLINK); cprintf(" ********* NO TAX TO BE PAID *********** "); textcolor(WHITE); } getch(); return; } f.read((char *)&e, sizeof(employee)); } f.close(); } void employee::mainmenu(void) { int size; char ch; do { clrscr(); box(2,23,18,55); gotoxy(20,5); cout<<"************** MENU **************"; gotoxy(20,10); cout<<"1. NEW ENTERIES"; gotoxy(20,13); cout<<"2. TAX FOR EXISTING ENTERIES"; gotoxy(20,16); cout<<"3. DETAIL OF CODE"; gotoxy(20,19); cout<<"0. EXIT"; gotoxy(20,22); cout<<"ENTER YOUR CHOICE : "; ch=getch(); switch(ch)
31

{ case '1' : clrscr(); adddata(); break; case '2' : clrscr(); list(); break; case '3' : totcode(); break; case '0' : clrscr(); quit(); break; default : clrscr(); box(9,15,22,65); gotoxy(25,11); cout<<"This is not a right choice"; gotoxy(25,13); cout<<"Wait and Enter again......!!!"; delay(2000); continue; } }while(ch!='0'); } void employee::quit(void) { clrscr(); box(9,15,22,60); gotoxy(25,11); cprintf("Have a nice day..........!!"); textcolor(10+BLINK); gotoxy(25,13); cprintf("********** Good Bye **********"); textcolor(WHITE); for(int i=500;i>100;i=i-100) { sound(i); delay(1000); nosound();
32

} for(int j=100;j<=500;j=j+100) { sound(j); delay(1000); nosound(); } delay(3000); //textcolor(10); exit(-2); } void main(void) { //temp.setgraphic(); temp.intro(); }

33

You might also like