Packages
Elixir library for Norwegian small business filings — Maskinporten auth, Altinn 3 API client, BRG XML/iXBRL generation, tax calculation (RF-1028/RF-1167), and shareholder register (RF-1086) XML generation. Ported from the Python CLI tool Wenche (https://github.com/olefredrik/Wenche).
Current section
5 Versions
Jump to
Current section
5 Versions
Compare versions
8
files changed
+41
additions
-6
deletions
| @@ -37,7 +37,7 @@ Add `wenche` to your list of dependencies in `mix.exs`: | |
| 37 37 | ```elixir |
| 38 38 | def deps do |
| 39 39 | [ |
| 40 | - {:wenche, "~> 0.3.0"} |
| 40 | + {:wenche, "~> 0.5.0"} |
| 41 41 | ] |
| 42 42 | end |
| 43 43 | ``` |
| @@ -2,7 +2,7 @@ | |
| 2 2 | [{<<"GitHub">>,<<"https://github.com/kontira/elixir-wenche">>}, |
| 3 3 | {<<"Original (Python)">>,<<"https://github.com/olefredrik/Wenche">>}]}. |
| 4 4 | {<<"name">>,<<"wenche">>}. |
| 5 | - {<<"version">>,<<"0.4.0">>}. |
| 5 | + {<<"version">>,<<"0.5.0">>}. |
| 6 6 | {<<"description">>, |
| 7 7 | <<69,108,105,120,105,114,32,108,105,98,114,97,114,121,32,102,111,114,32,78, |
| 8 8 | 111,114,119,101,103,105,97,110,32,115,109,97,108,108,32,98,117,115,105,110, |
| @@ -141,6 +141,25 @@ defmodule Wenche.BrgXml do | |
| 141 141 | sum_gjeld = LangsiktigGjeld.sum(lg) + KortsiktigGjeld.sum(kg) |
| 142 142 | sum_innskutt_ek = ek.aksjekapital + ek.overkursfond |
| 143 143 | |
| 144 | + # Kortsiktige investeringer (ikke-markedsbaserte aksjer/verdipapir- |
| 145 | + # fondsandeler) are reported under <investering> as andreFinansielleInstrumenter. |
| 146 | + # The element is optional (minOccurs=0), so omit it entirely when zero. |
| 147 | + investering_block = |
| 148 | + if om.kortsiktige_investeringer == 0 and fom.kortsiktige_investeringer == 0 do |
| 149 | + "" |
| 150 | + else |
| 151 | + "\n" <> |
| 152 | + String.trim_trailing(""" |
| 153 | + <investering> |
| 154 | + #{linje("andreFinansielleInstrumenter", om.kortsiktige_investeringer, "Kortsiktige investeringer", "29030", "6429", "7123", fom.kortsiktige_investeringer)} |
| 155 | + <sumInvesteringer> |
| 156 | + <aarets orid="6601">#{om.kortsiktige_investeringer}</aarets> |
| 157 | + <fjoraarets orid="8018">#{fom.kortsiktige_investeringer}</fjoraarets> |
| 158 | + </sumInvesteringer> |
| 159 | + </investering> |
| 160 | + """) |
| 161 | + end |
| 162 | + |
| 144 163 | xml = """ |
| 145 164 | <?xml version="1.0" encoding="UTF-8"?> |
| 146 165 | <melding xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| @@ -262,7 +281,7 @@ defmodule Wenche.BrgXml do | |
| 262 281 | </sumFordringer> |
| 263 282 | </fordringer> |
| 264 283 | </balanseOmloepsmidlerVarerFordringer> |
| 265 | - <balanseOmloepsmidlerInvesteringerBankinnskuddKontanter> |
| 284 | + <balanseOmloepsmidlerInvesteringerBankinnskuddKontanter>#{investering_block} |
| 266 285 | <bankinnskuddKontanter> |
| 267 286 | #{linje("bankinnskuddKontanter", om.bankinnskudd, "Bankinnskudd", "29031", "786", "8019", fom.bankinnskudd)} |
| 268 287 | <sumBankinnskuddKontanter> |
| @@ -166,6 +166,8 @@ defmodule Wenche.Ixbrl do | |
| 166 166 | |
| 167 167 | <tr><td>Kortsiktige fordringer</td> |
| 168 168 | <td>#{tag("TradeAndOtherCurrentReceivables", om.kortsiktige_fordringer, "c1")}</td></tr> |
| 169 | + <tr><td>Kortsiktige investeringer</td> |
| 170 | + <td>#{tag("OtherCurrentFinancialAssets", om.kortsiktige_investeringer, "c1")}</td></tr> |
| 169 171 | <tr><td>Bankinnskudd</td> |
| 170 172 | <td>#{tag("CashAndCashEquivalents", om.bankinnskudd, "c1")}</td></tr> |
| 171 173 | <tr><td><strong>Sum omløpsmidler</strong></td> |
| @@ -180,16 +180,22 @@ defmodule Wenche.Models do | |
| 180 180 | |
| 181 181 | defmodule Omloepmidler do |
| 182 182 | @moduledoc "Current assets." |
| 183 | - defstruct kortsiktige_fordringer: 0, bankinnskudd: 0, sum_override: nil |
| 183 | + defstruct kortsiktige_fordringer: 0, |
| 184 | + kortsiktige_investeringer: 0, |
| 185 | + bankinnskudd: 0, |
| 186 | + sum_override: nil |
| 184 187 | |
| 185 188 | @type t :: %__MODULE__{ |
| 186 189 | kortsiktige_fordringer: integer(), |
| 190 | + kortsiktige_investeringer: integer(), |
| 187 191 | bankinnskudd: integer(), |
| 188 192 | sum_override: integer() | nil |
| 189 193 | } |
| 190 194 | |
| 191 195 | def sum(%__MODULE__{sum_override: o}) when is_integer(o), do: o |
| 192 | - def sum(%__MODULE__{} = o), do: o.kortsiktige_fordringer + o.bankinnskudd |
| 196 | + |
| 197 | + def sum(%__MODULE__{} = o), |
| 198 | + do: o.kortsiktige_fordringer + o.kortsiktige_investeringer + o.bankinnskudd |
| 193 199 | end |
| 194 200 | |
| 195 201 | defmodule Eiendeler do |
Loading more files…