GEFA & F-Box – Intern Developer @ Paperless

Paperless logo
About the Job
At Paperless
Role Intern Developer
Location Chile
Duration 2 months
January 2011 – February 2011
Website http://www.paperlessla.com
Summary Developed a Web Application for processing electronic tributary documents to automate the process by which this company’s clients reported sale taxes.

Internship at Paperless

GEFA and F-Box were projects developed during my Intership at Paperless Latinoamérica in 2010. This was a full-time Internship that lasted 2 months, part of the 3 required Internships to apply to the degree of Computer Science Engineer in Universidad de Chile.

Screenshot of GEFA

Screenshot of GEFA

The purpose of this software was to generate definitions of transformations to be applied to Electronic Tributary Documents (DTE in Spanish) in order to generate XML files in compliance with the format required by and to be sent to the National Taxes Service (SII). The software offered a UI to define these transformations and to preview how the output document would turn out.

Paperless Latinoamérica is a company that offers Information Services to a varied group of clients. One of their most popular services is DTE handling, which consists of a contract between companies and Paperless in which the companies send their tributary info to Paperless and they processes and validate this data, converts it to the required legal format accepted by the government and sent to the SII.

GEFA and F-Box

Use of GEFA and F-Box

Diagram of use of GEFA and its integration with F-Box

This solution allowed Paperless’ Development Team to avoid having to participate in the process of designing and programming systems to receive DTEs from newly acquired clients or when
there were format changes of the incoming documents, freeing up work time for the team and relying this responsibility to the Project Managers by providing them with an easy to use UI that allowed them to handle each client’s requirements with versatility.

Raw DTE Data file

Example of a raw Tributary file received by Paperless

This is an example of the kind of document that would be sent for processing to the Paperless’ servers.

  • Each line represents one tributary item, usually one item in a list of many purchases.
  • The delimiter “|” separates the values of all the fields for that item.
  • The values separated by the delimiter come in order, an order that has been previously agreed on by Paperless and the client company
Processed F-Box XML document

Example of an XML document to be sent to the SII

And this is an example of what a processed DTE document would look like ready to be sent to the SII in the required legal XML format expected by this. Another file was used previous to the creation of GEFA called the Rules Definitions file, which would contain the rules to parse and interpret the incoming raw data files. The general flow of how F-Box would operate is show in the diagram below.

F-Box process

Diagram of the workflow of F-Box

The Experience

The resulting Web Application allowed users to create a direct map between the files sent by clients to Paperless and their format and the fields required by the SII in the resulting XML. Once the mapping was set, this would be persisted on disk to be read and used later by the receiving servers for the processing and transformation of the documents. This application was robust, efficient, and with an intuitive and complete UI.

It was an enriching experience, this was my first professional experience being brought closer to a work environment and out of an academic environment. Acquired a lot of knowledge regarding the internal functioning of a big company, the organization of each area and their responsibilities. I acquired some technical experience and knowledge working with Web Applications, Java EE standards and the Tomcat server.

The biggest problems presented in the way were because of requirement changes regarding the functionality of the application. Intending for the development of the project to be incremental, the supervisors of my projects decided to add each time a little bit more to the end functionality; functionality that if there had been knowledge of beforehand would’ve yield a better design or would’ve avoided some restructuring of the underlying data model defined for F-Box and its processing logic.

Achievements

  • Front-End and Back-End development on a Business Environment.
  • Under direct supervision from the company’s CIO.

Frameworks, Software and Technology used

  • Eclipse IDE
  • Java EE
  • JSP
  • HTML
  • CSS
  • Javascript
  • jQuery
  • Ajax
  • REST
  • JSON
  • PostgreSQL 8
  • Subversion
  • Apache Tomcat 5
  • Apache Ant
  • Apache POI
  • Apache Tiles
  • XSD

Media

logo_b_32