summaryrefslogtreecommitdiff
path: root/vit_efaktur/model
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 17:14:58 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 17:14:58 +0700
commit1ca3b3df3421961caec3b747a364071c80f5c7da (patch)
tree6778a1f0f3f9b4c6e26d6d87ccde16e24da6c9d6 /vit_efaktur/model
parentb57188be371d36d96caac4b8d65a40745c0e972c (diff)
initial commit
Diffstat (limited to 'vit_efaktur/model')
-rw-r--r--vit_efaktur/model/__init__.py4
-rw-r--r--vit_efaktur/model/efaktur.py22
-rw-r--r--vit_efaktur/model/invoice.py50
-rw-r--r--vit_efaktur/model/partner.py53
-rw-r--r--vit_efaktur/model/product.py9
5 files changed, 138 insertions, 0 deletions
diff --git a/vit_efaktur/model/__init__.py b/vit_efaktur/model/__init__.py
new file mode 100644
index 0000000..c20b76c
--- /dev/null
+++ b/vit_efaktur/model/__init__.py
@@ -0,0 +1,4 @@
+from . import efaktur
+from . import product
+from . import invoice
+from . import partner
diff --git a/vit_efaktur/model/efaktur.py b/vit_efaktur/model/efaktur.py
new file mode 100644
index 0000000..64cf430
--- /dev/null
+++ b/vit_efaktur/model/efaktur.py
@@ -0,0 +1,22 @@
+from odoo import api, fields, models, _
+
+class efaktur(models.Model):
+ _name = 'vit.efaktur'
+
+ name = fields.Char("eFaktur Number", required=True)
+ year = fields.Integer(string="Year", required=True, )
+
+ invoice_ids = fields.One2many(comodel_name="account.move",
+ inverse_name="efaktur_id",
+ string="Invoices", required=False, )
+
+ @api.depends('invoice_ids')
+ def _used(self):
+ for efaktur in self:
+ if efaktur.invoice_ids:
+ efaktur.is_used = True
+ else:
+ efaktur.is_used = False
+
+
+ is_used = fields.Boolean(string="Is Used", compute="_used", store=True)
diff --git a/vit_efaktur/model/invoice.py b/vit_efaktur/model/invoice.py
new file mode 100644
index 0000000..0c17058
--- /dev/null
+++ b/vit_efaktur/model/invoice.py
@@ -0,0 +1,50 @@
+from odoo import api, fields, models, _
+
+class AccountMove(models.Model):
+ _name = 'account.move'
+ _inherit = 'account.move'
+
+ efaktur_id = fields.Many2one(comodel_name="vit.efaktur", string="Faktur Pajak", required=False, )
+ is_efaktur_exported = fields.Boolean(string="Is eFaktur Exported", )
+ date_efaktur_exported = fields.Datetime(string="eFaktur Exported Date", required=False, )
+
+ # masa_pajak = fields.Char(string="Masa Pajak", required=False, compute="_masa_pajak" )
+ # tahun_pajak = fields.Char(string="Tahun Pajak", required=False, compute="_tahun_pajak")
+
+ masa_pajak = fields.Char(string="Masa Pajak", required=False)
+ tahun_pajak = fields.Char(string="Tahun Pajak", required=False)
+
+ efaktur_masukan = fields.Char(string="Nomor Seri Faktur Pajak", required=False, )
+ is_berikat = fields.Boolean(string="Kawasan Berikat?", related="partner_id.is_berikat" )
+ prefix_berikat = fields.Char(string="Prefix NSFP", compute="_get_prefix_berikat" )
+
+ @api.depends("is_berikat")
+ def _get_prefix_berikat(self):
+ for rec in self:
+ if rec.is_berikat:
+ rec.prefix_berikat = '070'
+ else:
+ rec.prefix_berikat = ''
+
+ # @api.depends("invoice_date")
+ # def _masa_pajak(self):
+ # for inv in self:
+ # if inv.invoice_date:
+ # d = inv.invoice_date.month
+ # # d = inv.invoice_date.split("-")
+ # inv.masa_pajak = str(d)
+
+ # @api.depends("invoice_date")
+ # def _tahun_pajak(self):
+ # for inv in self:
+ # if inv.invoice_date:
+ # d = inv.invoice_date.year
+ # # d = inv.invoice_date.split("-")
+ # inv.tahun_pajak = str(d)
+
+ # @api.multi
+ def action_invoice_open(self):
+ res = super(invoice, self).action_invoice_open()
+ if self:
+ self.is_efaktur_exported=False
+ return res
diff --git a/vit_efaktur/model/partner.py b/vit_efaktur/model/partner.py
new file mode 100644
index 0000000..fec0729
--- /dev/null
+++ b/vit_efaktur/model/partner.py
@@ -0,0 +1,53 @@
+from odoo import api, fields, models, _
+
+class partner(models.Model):
+ _name = 'res.partner'
+ _inherit = 'res.partner'
+
+ is_efaktur_exported = fields.Boolean(string="Is eFaktur Exported", )
+ date_efaktur_exported = fields.Datetime(string="eFaktur Exported Date", required=False, )
+
+ npwp = fields.Char(string="NPWP", required=False)
+ blok = fields.Char(string="Blok", required=False)
+ nomor = fields.Char(string="Nomor", required=False)
+ rt = fields.Char(string="RT", required=False)
+ rw = fields.Char(string="RW", required=False)
+
+ nama_wajib_pajak = fields.Char(string="Nama Wajib Pajak")
+ is_berikat = fields.Boolean(string="Kawasan Berikat?", )
+
+
+ @api.depends("street","street2","city","state_id", "country_id","blok","nomor","rt","rw","kelurahan_id","kecamatan_id")
+ def _alamat_lengkap(self):
+ for partner in self:
+ lengkap = partner.street or ""
+ lengkap += " " + (partner.street2 or '')
+
+ if partner.blok:
+ lengkap += " Blok: " + partner.blok + ", "
+ if partner.nomor:
+ lengkap += " Nomor: " + partner.nomor + ", "
+
+ if partner.rt:
+ lengkap += " RT: " + partner.rt
+ if partner.rw:
+ lengkap += " RW: " + partner.rw
+
+ if partner.kelurahan_id:
+ lengkap += " Kel: " + partner.kelurahan_id.name + ","
+
+ if partner.kecamatan_id:
+ lengkap += " Kec: " + partner.kecamatan_id.name
+
+ if partner.kota_id:
+ lengkap += """
+ """ + partner.kota_id.name + ","
+
+ if partner.state_id:
+ lengkap += " " + partner.state_id.name
+
+ partner.alamat_lengkap = lengkap.upper()
+
+ alamat_lengkap = fields.Char(string="Alamat Lengkap", required=False, compute="_alamat_lengkap")
+ alamat_lengkap_text = fields.Text(string="Alamat Lengkap", required=False)
+
diff --git a/vit_efaktur/model/product.py b/vit_efaktur/model/product.py
new file mode 100644
index 0000000..5413b09
--- /dev/null
+++ b/vit_efaktur/model/product.py
@@ -0,0 +1,9 @@
+from odoo import api, fields, models, _
+
+class product(models.Model):
+ _name = 'product.template'
+ _inherit = 'product.template'
+
+ is_efaktur_exported = fields.Boolean(string="Is eFaktur Exported", )
+ date_efaktur_exported = fields.Datetime(string="eFaktur Exported Date", required=False, )
+