Fakturaer

Hente fakturaliste

Du henter en liste med dine fakturaer slik:

GET /api/v1/invoices

Eksempel på respons:

<?xml version="1.0" encoding="utf-8"?>
<invoices page="1" total_pages="2" per_page="100">
  <invoice uri="https://app.fakturo.no/api/v1/invoice/671" status="overdue">
    <invoice_number>117</invoice_number>
    <issue_date>2011-06-16</issue_date>
    <due_date>2011-06-16</due_date>
    <gross_amount>16675.00</gross_amount>
    <net_amount>13340.00</net_amount>
  </invoice>
  <invoice uri="https://app.fakturo.no/api/v1/invoice/670" status="paid">
    <invoice_number>116</invoice_number>
    <issue_date>2011-05-17</issue_date>
    <due_date>2011-05-17</due_date>
    <gross_amount>1537.50</gross_amount>
    <net_amount>1230.00</net_amount>
  </invoice>
  <!-- mange flere invoice her  -->
</invoices>  

Url-parametere

Du kan filtrere listen med fakturaer ved å legge til ulike URL-parametere.

Parametrene som kan brukes er:

URL-parameter Forklaring
search Søk på fakturanummer eller fakturamottakers navn.
from_date Fakturadato fra og med denne datoen (format: yyyy-mm-dd)
to_date Fakturadato til og med denne datoen (format yyyy-mm-dd)
status Filter på fakturastatus (se tabellen nedenfor for mulige verdier).

Eksempel: Søk etter fakturaer til "Hansen" mellom 01.01.2011 og 01.06.2011 som har forfalt:

GET /api/v1/invoices?search=Hansen&from_date=2011-01-01&to_date=2011-06-01&status=overdue

Filtrer på status

URL-parameteren status kan brukes til å bare hente ut fakturaer med en gitt status. Det kan være nyttig når du har mange fakturaer, og vet hvilke typer du ønsker returnert.

Verdiene som kan brukes og som returneres i listen

Filter Forklaring
all Alle fakturaer (samme som å ikke oppgi filter)
invoice_sent Fakturaen er sendt, men ikke forfalt.
invoice_paid Fakturaen er betalt
invoice_overdue Fakturaen har forfalt, men purregebyr kan ikke legges til
invoice_overdue_chargeable Fakturaen har forfalt, og purregebyr kan legges til
overdue_notice_sent Fakturaen er purret, men purringen har ikke forfalt ennå.
overdue_notice_overdue Fakturaen er purret, og purringen har forfalt
debt_collection_notice_sent Det er sendt inkassovarsel, men inkassovarselet har ikke forfalt
debt_collection_notice_overdue Det er sendt inkassovarse, og inkassovarselet har forfalt.
debt_collection Fakturaen er overført til inkasso
closed_lost Fakturaen er lukket (manuelt) og merket som tap
closed_other Fakturaen er lukket (manuelt) av andre grunner

I tillegg til statusene over, kan du bruke meta-statuser som kombinerer flere av statusene over:

Filter Forklaring
overdue Alle fakturaer hvor enten fakturaen selv, purring eller inkassovarsel har forfalt.
waiting Alle fakturaer hvor enten faktura, purring eller inkassovarsel ikke har forfalt

Eksempel: Hent ut alle fakturaer som kan sendes til inkasso:

GET /api/v1/invoices?status=debt_collection_notice_overdue

Du kan også kombinere flere statuser ved å skille med pipe-tegnet (|):

GET /api/v1/invoices?status=invoice_sent|invoice_paid

Hente fakturadetaljer

For å hente alle detaljer om en enkelt faktura, bruker du:

GET /api/v1/invoice/:id

Responsen inneholder blant annet fakturalinjer, mottaker, innbetalinger, purringer og kreditnotaer for denne fakturaen:

<?xml version="1.0" encoding="utf-8"?>
<invoice uri="https://app.fakturo.no/api/v1/invoice/123">
  <invoice_number>116</invoice_number>     <!-- fakturanummer -->
  <issue_date>2011-05-17</issue_date>      <!-- fakturadato -->
  <due_date>2011-05-17</due_date>          <!-- forfallsdato -->
  <num_due_days>20</num_due_days>          <!-- antall forfallsdager -->
  <gross_amount>1537.50</gross_amount>     <!-- bruttobeløp (inkl mva) -->
  <net_amount>1230.00</net_amount>         <!-- nettobeløp (eks mva) -->
  <invoice_note>Denne fakturaen gjelder konsulenttjenester utført i mai
    2011
  </invoice_note>
  <ocr_kid_number>1235266</ocr_kid_number> <!-- KID-nummer -->
  <recipient>
    <!-- parent_recipient peker til nåværende kundeobjekt. Det kan være oppdatert 
      siden fakturaen ble sendt. -->
    <parent_recipient uri="https://app.fakturo.no/api/v1/customer/456" />
    <!-- Dataene nedenfor er kundeopplysningene slik de var da fakturaen 
      ble sendt. -->
    <name1>Min Mottaker AS</name1>
    <name2>Test Person</name2>
    <address1>Test Adresse 1</address1>
    <address2></address2>
    <postal_code>0656</postal_code>
    <postal_name>OSLO</postal_name>
    <email></email>
    <customer_number>12120</customer_number>
    <country_code>NO</country_code>
  </recipient>
  <!-- Fakturalinjer nedenfor -->
  <lines>
    <line index="1">
      <line_text>Bananer og epler</line_text>
      <unit_price>123</unit_price>
      <num_items>10</num_items>
      <discount_percent></discount_percent>
      <net_amount>1230.00</net_amount>
      <gross_amount>1537.50</gross_amount>
      <vat_rate percent="25">HIGH</vat_rate> <!-- HIGH=25%, MEDIUM=15%, LOW=8%, NONE=ingen mva -->
    </line>
    <line index="2">
      <line_text>Purregebyr ubetalt fra forrige faktura</line_text>
      <unit_price>61</unit_price>
      <num_items>1</num_items>
      <discount_percent></discount_percent>
      <net_amount>61.00</net_amount>
      <gross_amount>61.00</gross_amount>
      <vat_rate percent="0">NONE</vat_rate>
    </line>
  </lines>
  <!-- Informasjon om når og hvordan fakturaen ble sendt. -->
  <shipments>
    <shipment type="original">
      <shipment_method>PAPER</shipment_method>
      <sent_at>2011-09-01 12:45:59</sent_at>
      <recipient>
        <name1>TestFirma a244d AS</name1>
        <name2>Test Person</name2>
        <address1>Test Adresse 1</address1>
        <address2></address2>
        <postal_code>0656</postal_code>
        <postal_name>OSLO</postal_name>
        <email>example@example.org</email>
        <customer_number></customer_number>
        <country_code>NO</country_code>
      </recipient>
    </shipment>
    <shipment type="copy">
      <shipment_method>EMAIL</shipment_method>
      <sent_at>2011-09-01 12:45:59</sent_at>
      <recipient>
        <email>kopi@example.org</email>
      </recipient>
    </shipment>
    <shipment type="copy">
      <shipment_method>EMAIL</shipment_method>
      <sent_at>2011-09-01 12:45:59</sent_at>
      <recipient>
        <email>kopi2@example.org</email>
      </recipient>
    </shipment>   
  </shipments>
  <!--  Saldotransaksjoner for denne fakturaen -->
  <ar_transactions balance="0.00"><!--  Angir balance for denne fakturaen -->
    <ar_transaction uri="https://app.fakturo.no/api/v1/ar_transaction/555">
      <transaction_date>2011-06-06</transaction_date>
      <amount>1537.50</amount>
      <comment></comment>
      <from_account_number></from_account_number>
      <transaction_type>INVOICE</transaction_type>
    </ar_transaction>
    <ar_transaction uri="https://app.fakturo.no/api/v1/ar_transaction/557">
      <transaction_date>2011-06-06</transaction_date>     <!-- Transaksjonsdato -->
      <amount>61.00</amount>                              <!-- Beløp -->
      <comment></comment>                                 <!-- Kommentar -->
      <from_account_number></from_account_number>         <!-- Innbetalt fra konto (kun for OCR) -->
      <transaction_type>OVERDUE_CHARGE</transaction_type> <!-- Type transaksjon (se under) -->
    </ar_transaction>
    <ar_transaction uri="https://app.fakturo.no/api/v1/ar_transaction/558">
      <transaction_date>2011-06-06</transaction_date>
      <amount>7.58</amount>
      <comment>For perioden 17.05. - 05.06.11</comment>
      <from_account_number></from_account_number>
      <transaction_type>INTEREST</transaction_type>
    </ar_transaction>
    <ar_transaction uri="https://app.fakturo.no/api/v1/ar_transaction/561">
      <transaction_date>2011-06-10</transaction_date>
      <amount>-1606.08</amount>
      <comment>Kunde betalte til bankkonto</comment>
      <from_account_number></from_account_number>
      <transaction_type>PAYMENT</transaction_type>
    </ar_transaction>
  </ar_transactions>
  <!-- eventuelle purringer for denne fakturaen -->
  <overdue_notices>  
    <overdue_notice uri="https://app.fakturo.no/api/v1/overdue_notice/673">
      <issue_date>2011-06-06</issue_date>
      <due_date>2011-06-20</due_date>
      <gross_amount>1606.08</gross_amount>
      <is_incasso_notice>1</is_incasso_notice> <!-- 1 hvis inkassovarsel, 0 ellers -->
      <sequence_number>1</sequence_number>     <!-- Rekkefølge på purring, 1 eller 2 -->
    </overdue_notice>
  </overdue_notices>
  <credit_notes /> <!-- eventuelle kreditnotaer for denne fakturaen -->
</invoice>

Lage og sende en faktura

Du oppretter og sender en ny faktura slik:

POST /api/v1/invoices

Dataene du sender inn via POST må være en XML med minst én fakturalinje, antall dager til forfall, hvordan du vil sende fakturaen, og mottaker.

Hvis alt går bra, returneres HTTP-responskoden 201 Created sammen med en Location-header som er URL til den nye fakturaen som er opprettet.

Eksempel 1: Ny faktura til eksisterende kunde

Dette viser hvilke data du minimum må sende inn for å lage en ny faktura.

<invoice>
  <num_due_days>20</num_due_days>        <!-- Antall dager til forfall -->
  

  <!-- For å bruke en eksisterende kunde, oppgir vi URL slik: -->
  <recipient uri="https://app.fakturo.no/api/v1/customer/848" />
  
  <!-- Fakturalinjer -->
  <lines>
    <line>
      <line_text>Gull, røkelse og myrra</line_text>
      <unit_price>19988.00</unit_price>
      <num_items>2</num_items>
      <vat_rate>HIGH</vat_rate>
    </line>
  </lines>

  <!--  Hvordan fakturaen skal sendes -->
  <shipments>
    <!--  Adresse / e-post for originalmottaker hentes fra oppgitt recipient -->
    <shipment type="original">
      <shipment_method>PAPER</shipment_method> <!--  PAPER eller EMAIL  -->
    </shipment>
  </shipments>
  
</invoice>

Dersom du venter å sende som EMAIL må kunden ha utfylt e-postadresse. Hvis ikke må du oppdatere kundeobjektet først.

Eksempel 2: Ny faktura til ny kunde

I dette tilfellet vil det bli opprettet en ny kunde. Vi anbefaler at du sjekker om du allerede har registrert en kunde, ellers vil det etterhvert bli mange like kundeobjekter på kontoen din.

<invoice>

  <num_due_days>20</num_due_days>
  <invoice_note>Fakturaen gjelder tjenester levert i desember år 0.
  </invoice_note>

  <!-- Dette oppretter en ny kunde -->
  <recipient>
    <name1>Min Nye Kunde AS</name1>
    <address1>Øvre gate 14</address1>
    <postal_code>1212</postal_code>
    <postal_name>OSLO</postal_name>
  </recipient>

  <!-- Du kan oppgi inntil 8 fakturalinjer -->
  <lines>
    <line>
      <line_text>Gull, røkelse og myrra</line_text>
      <unit_price>19988.00</unit_price>
      <num_items>2</num_items>
      <vat_rate>HIGH</vat_rate>
    </line>
  </lines>

  <shipments>
  
    <shipment type="original">
      <shipment_method>EMAIL</shipment_method>
    </shipment>
  
    <shipment type="copy">
      <shipment_method>EMAIL</shipment_method>
      <recipient>
        <email>myself@example.org</email>
      </recipient>
    </shipment>
  
  </shipments>

</invoice>

Oppdatere en faktura

Ikke tilgjengelig

Du kan ikke oppdatere en faktura.

Slette en faktura

Ikke tilgjengelig

Du kan ikke slette en faktura på grunn av kravene til løpende fakturanummerserie. Hvis du ønsker å rette opp en feil på en faktura som er sendt, må du sende en kreditnota.

Laste ned faktura som PDF

Du kan hente ned PDF-dokumentet for en faktura (med eventuelle vedlegg) slik:

GET /api/v1/invoice/123/pdf

Dette metoden returnerer ikke XML, men i stedet PDF-data levert med Content-Type application/pdf.

Nedlasting av purringer og kreditnotaer gjøres på tilvarende måte, men med overdue_notice eller credit_note i URLen i stedet for invoice.

Opp til toppen av siden