API – Add Learning

EzzyBills automatically learns from its mistakes (such as when you correct the invoice number in your accounting system). However, in some cases Ezzybills is not able to identify the problem or it might take too long for EzzyBills to learn, then you can manually apply learning rules to a specific suppliers invoice.



What learning rules can do:

  • If the keywords for some invoice data fields are unusual, the learning rules will allow you to add specific keywords for certain field of invoice data.
  • If there are multiple candidates for the invoice data, generally EzzyBills shall choose the correct one. If it does not, you can add specific keyword to the invoice, so this keyword will override the other existing keywords list in EzzyBills.
  • Click the link here to seeĀ a list of invoice fields that learning rules can be applied. Only for these fields, learning rules can be applied.


  • Each learning rule is applied to an invoice from a specific supplier. To identify which supplier invoice to apply this rule, an existing invoice in your account is required.
  • If you have added a learning rule to an invoice and your subsequent tests show that it does not fix the issue, you shall contact us to remove the rule and we can help you to find an alternative way to resolve the issue.
  • For each invoice type, learning rule can be added only once (However, multiple keywords can be added at once).

An example of API code for applying learning rules.

(In this example, two keywords were applied, for the table column headings.)

int invoice_id = Convert.ToInt32(args[2]); //an existing invoice in the EzzyBills account that you will add learning to
LearningExtraKeywords[] lk = new LearningExtraKeywords[2];
string[] _keywords1 = { “Weight KG” };
string[] _keywords2 = { “Kilo Price” };
lk[0] = new LearningExtraKeywords() { name = “keyword_quantity”, keywords = _keywords1 };
lk[1] = new LearningExtraKeywords() { name = “keyword_unit_price”, keywords = _keywords2 };
rule = new LearningRule()
Hint = “comments here”, //You can add a comment within the quotes
extra_keywords = lk
Servicestatus ss = client.addLearningRule(invoice_id, rule);