|  | @@ -121,8 +121,14 @@ class Invoice(_Object, _YamlInitConstructor, _YamlVarsRepresenter):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      yaml_tag = u'!invoice'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    def __init__(self, creditor, invoice_id, invoice_date,
 | 
	
		
			
				|  |  | -                 debitor_id, items=None):
 | 
	
		
			
				|  |  | +    def __init__(self,
 | 
	
		
			
				|  |  | +                 creditor,
 | 
	
		
			
				|  |  | +                 debitor_id,
 | 
	
		
			
				|  |  | +                 invoice_date,
 | 
	
		
			
				|  |  | +                 invoice_id,
 | 
	
		
			
				|  |  | +                 discounts=None,
 | 
	
		
			
				|  |  | +                 items=None
 | 
	
		
			
				|  |  | +                 ):
 | 
	
		
			
				|  |  |          assert isinstance(creditor, str)
 | 
	
		
			
				|  |  |          self.creditor = creditor
 | 
	
		
			
				|  |  |          assert isinstance(invoice_id, str)
 | 
	
	
		
			
				|  | @@ -132,6 +138,12 @@ class Invoice(_Object, _YamlInitConstructor, _YamlVarsRepresenter):
 | 
	
		
			
				|  |  |          self.invoice_date = invoice_date
 | 
	
		
			
				|  |  |          assert isinstance(debitor_id, str)
 | 
	
		
			
				|  |  |          self.debitor_id = debitor_id
 | 
	
		
			
				|  |  | +        if discounts:
 | 
	
		
			
				|  |  | +            assert isinstance(discounts, list)
 | 
	
		
			
				|  |  | +            assert all([isinstance(d, Discount) for d in discounts])
 | 
	
		
			
				|  |  | +            self.discounts = discounts
 | 
	
		
			
				|  |  | +        else:
 | 
	
		
			
				|  |  | +            self.discounts = []
 | 
	
		
			
				|  |  |          if items:
 | 
	
		
			
				|  |  |              assert isinstance(items, list)
 | 
	
		
			
				|  |  |              assert all([isinstance(i, Item) for i in items])
 |