Added monthly invoice name attribute

This commit is contained in:
Sergei Tsõganov 2022-08-30 17:35:25 +03:00
parent 34f5347c1f
commit 0a20f567c2
2 changed files with 15 additions and 24 deletions

View file

@ -18,10 +18,10 @@ GIT
GIT
remote: https://github.com/internetee/e_invoice.git
revision: 590dcd3b769ea57edd4c4626547b37120a02b127
revision: 9f850465697a2448a31ebddb83c1be5a5a9be3d2
branch: master
specs:
e_invoice (0.1.2)
e_invoice (0.1.3)
builder (~> 3.2)
nokogiri
savon

View file

@ -41,17 +41,16 @@ class Invoice
e_invoice_invoice_items = []
invoice.each do |invoice_item|
if invoice.monthly_invoice
e_invoice_invoice_item = generate_monthly_invoice_item(invoice, invoice_item)
else
e_invoice_invoice_item = generate_normal_invoice_item(invoice_item)
end
e_invoice_invoice_item = generate_invoice_item(invoice, invoice_item)
e_invoice_invoice_items << e_invoice_invoice_item
end
e_invoice_name_item = e_invoice_invoice_items.shift if invoice.monthly_invoice
e_invoice_invoice = EInvoice::Invoice.new.tap do |i|
i.seller = seller
i.buyer = buyer
i.name = e_invoice_name_item&.description
i.items = e_invoice_invoice_items
i.number = invoice.number
i.date = invoice.issue_date
@ -75,33 +74,25 @@ class Invoice
private
def generate_normal_invoice_item(item)
def generate_invoice_item(invoice, item)
EInvoice::InvoiceItem.new.tap do |i|
i.description = item.description
i.unit = item.unit
i.price = item.price
i.quantity = item.quantity
if invoice.monthly_invoice && item.price && item.quantity
i.product_id = item.product_id
i.vat_rate = invoice.vat_rate
i.subtotal = (item.price * item.quantity).round(3)
i.vat_amount = i.subtotal * (i.vat_rate / 100)
i.total = i.subtotal + i.vat_amount
else
i.subtotal = item.subtotal
i.vat_rate = item.vat_rate
i.vat_amount = item.vat_amount
i.total = item.total
end
end
def generate_monthly_invoice_item(invoice, item)
EInvoice::InvoiceItem.new.tap do |i|
i.description = item.description
i.product_id = item.product_id
i.unit = item.unit
i.price = item.price
i.quantity = item.quantity
i.vat_rate = invoice.vat_rate
if item.price && item.quantity
i.subtotal = (item.price * item.quantity).round(3)
i.vat_amount = i.subtotal * (i.vat_rate / 100)
i.total = i.subtotal + i.vat_amount
end
end
end
end
end