<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fiken, branch v0.3.1</title>
<subtitle>Fiken API client and OAuth2 for Go — shared by gcbill, adaa and sokkel-billing</subtitle>
<id>https://git.simenandre.no/fiken/atom/?h=v0.3.1</id>
<link rel='self' href='https://git.simenandre.no/fiken/atom/?h=v0.3.1'/>
<link rel='alternate' type='text/html' href='https://git.simenandre.no/fiken/'/>
<updated>2026-10-18T11:01:54Z</updated>
<entry>
<title>Make UpdateContact read, merge and write</title>
<updated>2026-10-18T11:01:54Z</updated>
<author>
<name>Simen A. W. Olsen</name>
<email>hello@simenandre.no</email>
</author>
<published>2026-10-18T11:01:54Z</published>
<link rel='alternate' type='text/html' href='https://git.simenandre.no/fiken/commit/?id=53323a0671a3bfe86e7cff75ee5269f60c01ba05'/>
<id>urn:sha1:53323a0671a3bfe86e7cff75ee5269f60c01ba05</id>
<content type='text'>
Fiken's PUT replaces the whole contact and rejects a body missing
required fields ("'name' er påkrevd"), so a partial update cannot work.
Merging over the raw JSON rather than over Contact keeps every field
Fiken holds, including the ones this package does not model — a struct
round-trip would silently blank an address, its contact people and its
notes.
</content>
</entry>
<entry>
<title>Carry a contact's currency, and let it be read and changed</title>
<updated>2026-10-18T10:58:37Z</updated>
<author>
<name>Simen A. W. Olsen</name>
<email>hello@simenandre.no</email>
</author>
<published>2026-10-18T10:58:37Z</published>
<link rel='alternate' type='text/html' href='https://git.simenandre.no/fiken/commit/?id=c4f6746182070aaccaa88b5ab95322b8ee87200c'/>
<id>urn:sha1:c4f6746182070aaccaa88b5ab95322b8ee87200c</id>
<content type='text'>
Fiken refuses an invoice draft whose currency differs from the contact's:
"Currency for given customer {} is different from currency for the invoice
draft {}". A contact created without one defaults to NOK, so anything
invoiced in another currency failed at the draft with nothing to explain
it. Adds Currency and Language to NewContact, plus Contact and
UpdateContact for fixing one already made.
</content>
</entry>
<entry>
<title>Add CreateContact</title>
<updated>2026-10-17T12:27:46Z</updated>
<author>
<name>Simen A. W. Olsen</name>
<email>hello@simenandre.no</email>
</author>
<published>2026-10-17T12:27:46Z</published>
<link rel='alternate' type='text/html' href='https://git.simenandre.no/fiken/commit/?id=08b6286f1bfe3892d0d63726d79cd5f1d9acac01'/>
<id>urn:sha1:08b6286f1bfe3892d0d63726d79cd5f1d9acac01</id>
<content type='text'>
Needed to link an order to Fiken without leaving the terminal: the signed
order already carries the legal name, organisation number and address, so
the contact can be made from it.
</content>
</entry>
<entry>
<title>Fiken API client and OAuth2 for Go</title>
<updated>2026-10-17T12:19:09Z</updated>
<author>
<name>Simen A. W. Olsen</name>
<email>hello@simenandre.no</email>
</author>
<published>2026-10-17T12:19:09Z</published>
<link rel='alternate' type='text/html' href='https://git.simenandre.no/fiken/commit/?id=c0a01ac65bb492640b169274614e0d8022f5076d'/>
<id>urn:sha1:c0a01ac65bb492640b169274614e0d8022f5076d</id>
<content type='text'>
Extracted from gcbill, where it was internal/fiken and internal/fikenauth,
so adaa and sokkel-billing can use the same client instead of each
carrying its own.

The login command named when a grant cannot be renewed is now injected
(Source.LoginCommand): it was hardcoded to gcbill's, which would have sent
every other caller's operator to a command that does not exist.
</content>
</entry>
</feed>
