For my first pro­ject 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­puters that allows you to pro­duce a tax return and sub­mit it online. Sadly it’s very much Win­dows only though they sug­gest explor­ing run­ning Win­dows in a vir­tual machine. They are cur­rently “invest­ig­at­ing” sup­port­ing other plat­forms, but they have been doing this for years now and I’ve seen third hand cor­res­pond­ence that sug­gests the invest­ig­a­tion isn’t pro­gress­ing par­tic­u­larly quickly.

You can also fill in the return by hand on paper, com­plete with explan­at­ory book­lets. In prac­tice the pro­ced­ure for both is basic­ally the same, the advant­age of doing it digit­ally is that it’s easier to see the cal­cu­la­tions and make corrections.

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 prin­ted and pos­ted in dir­ectly. The ATO actu­ally accepts prin­touts from E-Tax so I’m fairly con­fid­ent that they will accept these.

The sec­ond­ary goal is to improve my abil­it­ies with Javas­cript. I have toyed around with Javas­cript a little bit, enough to do small tasks for webpages. In doing this I saw enough to know that Javas­cript had some fun­da­mental dif­fer­ences but not enough to really under­stand or work with them. By doing a sub­stan­tial Javas­cript pro­ject I hope to get over that hurdle and start to see how to prop­erly design with the language.

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

April 4th features

  • Tem­plat­ing system
  • Basic lay­out
  • Func­tional data entry
  • Javas­cript data checking
  • Server­side storage
  • Basic cal­cu­la­tions
  • Inde­pend­ent domain name
  • Pub­lic source repository

Maybe fea­tures

  • Cli­ent side encryption
  • User login system
  • Basic per­sonal tax pack covered
  • Cli­ent side PDF generation

Later fea­tures

  • Gen­eral pack­age refactor
  • Com­plete core tax pack covered
  • Com­plete sup­ple­ment­ary tax pack covered
  • Retrieve pre­fill inform­a­tion from ATO
  • Elec­tronic sub­mis­sion to ATO
  • Integ­rate with account­ing software