For my first project I am going to make a web based tax return cre­ator for Aus­tralian tax returns.

The Aus­tralian Tax Office (ATO) pro­duces E-Tax, a pro­gram for Win­dows com­put­ers that allows you to pro­duce a tax return and sub­mit it online. Sad­ly it’s very much Win­dows only though they sug­gest explor­ing run­ning Win­dows in a vir­tu­al machine. They are cur­rent­ly “inves­ti­gat­ing” sup­port­ing oth­er plat­forms, but they have been doing this for years now and I’ve seen third hand cor­re­spon­dence that sug­gests the inves­ti­ga­tion isn’t pro­gress­ing par­tic­u­lar­ly quick­ly.

You can also fill in the return by hand on paper, com­plete with explana­to­ry book­lets. In prac­tice the pro­ce­dure for both is basi­cal­ly the same, the advan­tage of doing it dig­i­tal­ly is that it’s eas­i­er to see the cal­cu­la­tions and make cor­rec­tions.

So the goal is to pro­duce a web­site to help enter tax returns. I’ll base it off the paper tax return and as out­put pro­duce a PDF that can be print­ed and post­ed in direct­ly. The ATO actu­al­ly accepts print­outs from E-Tax so I’m fair­ly con­fi­dent that they will accept these.

The sec­ondary goal is to improve my abil­i­ties with Javascript. I have toyed around with Javascript a lit­tle bit, enough to do small tasks for web­pages. In doing this I saw enough to know that Javascript had some fun­da­men­tal dif­fer­ences but not enough to real­ly under­stand or work with them. By doing a sub­stan­tial Javascript project I hope to get over that hur­dle and start to see how to prop­er­ly design with the lan­guage.

By April 4th I’ll have a pro­to­type site com­plete. Not a usable solu­tion, that will prob­a­bly hap­pen some­time after the new tax returns come out in July. The devel­op­ment site can be seen at http://taxreturn.projects.david.tulloh.id.au/

April 4th fea­tures

  • Tem­plat­ing sys­tem
  • Basic lay­out
  • Func­tion­al data entry
  • Javascript data check­ing
  • Server­side stor­age
  • Basic cal­cu­la­tions
  • Inde­pen­dent domain name
  • Pub­lic source repos­i­to­ry

Maybe fea­tures

  • Client side encryp­tion
  • User login sys­tem
  • Basic per­son­al tax pack cov­ered
  • Client side PDF gen­er­a­tion

Lat­er fea­tures

  • Gen­er­al pack­age refac­tor
  • Com­plete core tax pack cov­ered
  • Com­plete sup­ple­men­tary tax pack cov­ered
  • Retrieve pre­fill infor­ma­tion from ATO
  • Elec­tron­ic sub­mis­sion to ATO
  • Inte­grate with account­ing soft­ware