albertosml / fgen Goto Github PK
View Code? Open in Web Editor NEWApplication which allow users to emit invoices and delivery notes from their customers to other customers.
License: GNU General Public License v3.0
Application which allow users to emit invoices and delivery notes from their customers to other customers.
License: GNU General Public License v3.0
As a user, I want to add a subtotal into a system, so it can be associated to any invoice/template.
To do that, the user will introduce the name, the percentage and whether it is discount or a tax.
Respect to the UI, this process will be done through a registering form.
As a user, I want to delete a generated delivery note because it has been set with an error and we don't want that it appears on the delivery notes list.
Steps to reproduce
Note that this is a regression from v0.17.0, when adding the remove subtotal use case.
Current behaviour
Subtotal cannot be removed if it is associated to a removed variable.
Expected behaviour
Subtotals can be removed if they are associated to at least one existing variable.
As a user, I want to restore a removed invoice template from the system.
To do that, the UI will offer an option in the templates list for removed templates.
Dependencies
Steps to reproduce
Current behaviour
Removed templates can be edited.
Expected behaviour
Templates cannot be edited if they are removed.
As a user, I want to edit any attribute from a specific template. Those attributes are:
Respect to the UI, this can be done by rewriting each template attribute value when it is shown on the template details interface.
Dependencies
As a user, I want to restored a removed variable on the system.
To do that action, the UI will offer an option in the variables list for removed variables.
Dependencies
As a user, I want to retrieve an invoice from our invoice history.
The invoice will be retrieved depending on the chosen alternative in the issue which blocks this card.
This process will be done through the UI by selecting the invoice to show in the invoices list.
Dependencies
Steps to reproduce
Note that this is caused by the version v0.16.0, where we added the use case to restore a variable.
Current behaviour
Variable with a removed subtotal can be restored.
Expected behaviour
Variable with a removed subtotal must not be restored.
As a user, I want to edit a concrete invoice item.
To do that, the user will update one of its attributes, which are:
The process will be done in the UI through the invoice interface by editing the corresponding attribute field.
Dependencies
Steps to reproduce
Note that this a regresion from v0.10.0, when the list subtotal use case was added.
Current behaviour
Removed subtotals are available to associate them with variables.
Expected behaviour
Removed subtotals cannot be used to associate with subtotals.
As a user, I want to list all the global variables available on the system.
To do that, all the variable attributes (name, description and mapped entity attribute) will be shown in a list.
Respect to the UI, a table containing all the variables data will be created.
Dependencies
As a user, I want to see all the details from a template.
To do that, all the attributes from a template will be retrieved. Those attributes are:
Respect to the UI, a form will be created to show the value of all template attributes.
Dependencies
As a user, I want to add an item into a concrete invoice.
To do that, the user will introduce the quantity, the description and the price. Then, that item will be associated to the invoice to generate.
The process will be done in the UI through the invoice interface by clicking a button set on the invoice items table.
As a user, I want to list all templates available on the system.
To do that, the code and the name for each template will be listed.
Respect to the UI, a table containing the code and the name will be shown.
Dependencies
As a user, I want to see all the data associated to a specific customer.
That data will be retrieved and presented in the UI in a panel where all its attributes and values will be shown. The mentioned panel will be reached by clicking on a concrete item from the customers list table.
The customer attributes are:
Keep in mind that the first three are mandatory and the rest are optional.
Dependencies
In this card, the intention is to justify the chosen stack. For that, a new section will be added in the README file where the chosen architecture and technologies will be indicated.
As a user, I want to register a customer into the system, so it can be set as sender or recipient on any invoice.
To do that, the user must specify at least the name and the Spanish TIN (Tax Identification Number, which is unique and represents the NIF or NIE for people and the CIF for companies). Optionally, you can add the address, the city, the province, the ZIP code (which can be only numeric) and the IBAN. Finally, an autogenerated code will be added to that registered customer, so it is identified across the system. However, you have the option to set it manually.
This process will be done through an UI which will show an form to introduce all the mentioned data previously.
Each delivery note will have associated a customer and a supplier. Reflect that on the delivery note entity.
Extras:
In this card, a new section containing the license details will be added in the README file.
As a user, I want to remove a registered variable on the system.
To do that action, the UI will offer an option in the variables list for non-removed variables.
Dependencies
As an user, I want to update any customer attribute except the code when the customer is not removed.
Keep in mind that the customer attributes are:
Then, for optional attributes, we can remove the set value or add it if it was not already set.
This data can be modified in the form which shows the customer data.
Dependencies
As a user, I want to edit any variable attribute. Those attributes are:
Respect to the UI, this can be done by rewriting each variable attribute value when it is shown on the variable details interface.
Dependencies
As a user, I want to remove a field from a template registered on the system.
To do that action, the UI will offer an option in the template fields list for non-removed templates.
Dependencies
As an user, I want to restore a removed customer from the system.
To do that, the UI will offer an option in the customers list for removed customers.
Dependencies
As a user, I want to edit any subtotal attribute. Those attributes are:
Respect to the UI, this can be done by rewriting each subtotal attribute value when it is shown on the subtotal details interface.
Dependencies
As a user, I want to remove a concrete invoice item.
To do that, the user will select the invoice item to remove, and then, the action will be done.
Respect to the UI, the invoice interface will offer a button for each item to remove it.
Dependencies
Indicate in the README the new added entities and all the new issues associated to them.
As a user, I want to remove an invoice template from the system.
To do that, the UI will offer an option in the templates list for non-removed templates.
Dependencies
Modify the POM file to be able to generate a JAR file with dependencies.
As a user, I want to see all the generated invoices by the system.
The list will show the invoice code, the generation date time and the customers involved on the invoice.
That data will be presented in the UI in a table with all this information. Also, we will show filters by customer, product, provider and dates interval.
The invoice can be filtered by farmer and supplier.
Dependencies
As a user, I want to register a template to generate an invoice.
To do that, the user will introduce the name, the template spreadsheet file and list of template fields, which will contain the mapping between a spreadsheet field and an expression which indicates the content to render.
Respect to the UI, an interface will be created for that process.
Steps to reproduce
Current behaviour
Two customers have the same TIN when the first one is removed and the second one is registered with the same TIN.
Expected behaviour
TIN must be unique across all customers.
As a user, I want to remove a registered subtotal on the system.
To do that, the UI will offer an option in the subtotals list for non-removed subtotals.
A subtotal cannot be removed if it is associated to a variable.
Dependencies
In this issue, the intention is to modify the README file to add an application description.
As a user, I want to add a field to a specific template.
To do that, the user will introduce a spreadsheet field or range position (e.g. "A56" or "B12:B19") and a expression to indicate the content to render (e.g. "Customer number ${CUSTOMER_CODE}").
This process will be done in the UI through a form to add all the attributes.
As a user, I want to restored a removed subtotal on the system.
To do that, the UI will offer an option in the subtotals list for removed subtotals.
Dependencies
In this card, a new section will be added to the README to describe the entities and the use cases of the application.
As an user, I want to remove a customer from the system.
To do that, the UI will offer an option in the customers list for non-removed customers.
Dependencies
As a user, I want to calculate the subtotal of a given value.
That will be done when generating the invoice. For that, it will take the total invoice value, which is calculated based on the invoice items price sum.
The subtotal will be calculated by obtaining the percentage of the given value and setting it as negative or positive, depending on the kind of subtotal (discount or tax, respectively).
Now, I give some examples to use:
Dependencies
Once the stack has been introduced, the new project structure will be configured in this card. That structure will distinguish each layer presented. Then, a main frame will be set.
As a user, I want to edit an attribute from a template field.
The attributes of a template field are:
The process will be done on the UI by rewriting each template field attribute value when it is shown on the template fields list interface.
Dependencies
As a user, I want to see all the customers available on the system, even if they have been removed.
The list will only the mandatory customer data, which are the code, the name and the TIN.
That data will be presented in the UI in a table with all this information.
Dependencies
As a user, I want to add a variable, so it can be used on any template field expression and processed when generating an invoice.
To do that, the user will introduce a name, a description, a entity attribute to map the variable and the associated subtotal if the entity attribute is the invoice subtotal.
Respect to the UI, this process will be done through a form for the registration.
Dependencies
As a user, I want to list all the subtotals available on the system.
To do that, all the subtotal attributes (name, percentage and discount/tax) will be shown in a list.
Respect to the UI, a table containing all the subtotals data will be created.
Dependencies
A Software Requirement Specification (SRS) is a document which specifies how a software system must be developed.
The intention is to fill it and add it to the README file.
Source: https://relevant.software/blog/software-requirements-specification-srs-document/
As a user, I want to generate an invoice by selecting all the shown delivery note with a established price. Finally, the created invoice will be generated in the specified format, which can be PDF or any spreadsheet file format.
Keep in mind that the invoice will indicate the generation date time and it will registered in our system.
Steps to reproduce
This issue is a regression from v0.15.0.
Current behaviour
Removed variables can be edited.
Expected behaviour
A removed variable cannot be edited.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.