JHNBOS / MVC-Invoice

Updated version
https://github.com/JHNBOS/MVC-Invoice2
2 stars 3 forks source link

Some considerations #1

Closed net4u closed 7 years ago

net4u commented 7 years ago

Hi,

I discovered your application and I have some comments: I find necessary to add to Debtors model the following properties (I name them in human language since it may be different by EU countries/regulations): 1.) Registration Number (if is juridic person), meaning the number/code at Commerce National Registry or personal ID number if is physical person 2.) Fiscal Number meaning the VIES related number (the tax number). Here it must take care that are various scenarios by national regulations, especially when the company is VAT payer or VAT exempted (e.g. here in Romania if you are VAT exempted you have generally an fiscal ID like 123456, but if you want to do business in whole EU you have an VIES valid number like RO123456, where 123456 portion may be different to national 123456) A similar approach may be considered in what concerns the issuer of invoice: I may issue a national invoice that may have the 123456 like ID or an EU invoice that may have an RO123456 ID For VAT payer is more simple, because here in Romania is generally the VIES compatible ID like Ro123456

L.E. I may suggest for Debtor model:

`
[Required] [Display(Name = "Legal Name")] public string LegalName { get; set; }

    [Required]
    [Display(Name = "Registration Number")] //it may be personal ID number if is about a phisycal person
    public string RegNumber { get; set; }

    [Required]
    [Display(Name = "National Fiscal Number")]
    public string FinancialNumber { get; set; }

    [Required] //not sure if this may be mandatory since if is VAT payer the previous FinancialNumber is in VIES check mechanism and is enough, but is necessary for companies that are not VAT payers but want to sell in all EU
    [Display(Name = "EU Fiscal Number")]
    public string EUFinancialNumber { get; set; }

    [Required]
    [Display(Name = "Bank Name")]
    public string BankName { get; set; }

`

net4u commented 7 years ago

I am not very confortable with GitHub, so I have no idea if I implement the above mentioned things, how to propose them to you (pull request and so on).

net4u commented 7 years ago

Also I forgot to mention another concept: the Receipt. This comes with the invoice in some particular situations when the Invoice is paid in Cash, and not by Card or bank transfer. It may be on same A4 paper (in kind of A5 arrangement) or separately, but clear related to number/date of parent Invoice. And here comes another consideration: it may be mandatory to have a (configurable) prefix for invoice number (e.g. instead of Invoice number #12345, something like Invoice number abc-def 12345 and so on for receipts etc.)

JHNBOS commented 7 years ago

For the debtors, I will split them in two: persons and companies. The invoice number prefix I can add in the settings page

net4u commented 7 years ago

In what consider prefix, please consider a two way prefix: internal (national) invoices and external (EU) invoices (pre-nat 12345 and pre-eu 12345)