Litt om NUUGs rutiner for fakturering av kontingent etc

NUUG bruker sendregning.no til å sende ut fakturaer. De har et webgrensesnitt og et grensesnitt basert på web services der XML brukes som utvekslingsformat.

Formatet er dokumentert her.

For å snakke med web services-grensesnittet til sendregning.no er sws-test utviklet. Det er et script som tar seg av innlogging og kommunikasjon, og tar parameter for hva som skal gjøres.

Utsending av fakturaer

Utsending av faktura via sendregning.no kan gjøres automatisk basert på innholdet i medlemsregisteret. Tilgangsparameter (brukernavn og passord) må legges i ~/.swsconfig, og fås oppgitt fra kassereren Jon Petter Bjerke.

Prosedyren for å sende ut faktura er dermed nå følgende to steg (obs, bør testes godt første gang den brukes):

Oppdatere medlemsregisteret

Først redigeres informasjonen i medlemsregisteret, og ZUsrFakturertPeriode forblir blankt eller oppdateres ikke:

cd nuug/styre/
cvs up medlemsliste.csv
vi eller emacs medlemsliste.csv   # Legg inn medlemsoppføringen
../tools/medlemsliste-check -w    # Sjekk konsistensen i fila
cvs commit -m "CVS_SILENT Meldt inn ny medlem (RT #123)." medlemsliste.csv 

Deretter sendes fakturainformasjon til sendregning.no via webservices-grensesnittet, og ZUsrFakturertPeriode oppdateres:

cd nuug/styre/
../tools/medlemsliste-makeinvoices -i | less   # sjekk at fakturainformasjonen er korrekt.
ekstramedlem under bedrift etter hovedfaktureringen er vanskelig
../tools/medlemsliste-sendinvoices 

Det er viktig å sjekke at XML-filen ser bra ut. Det må gjøres manuelt ved å sammenligne med spesifikasjonen. Det er sjekket for alle medlemstyper, og fungerer ganske bra.

Folk i utlandet fungerer ikke. Petter aner ikke hvorfor. Firma med mer enn ca. 15 medlemmer fungerer heller ikke. Årsaken er at det blir for mange linjer på fakturaen. Disse utfordringene bør vi finne en løsning på før faktureringen automatiseres enda mer, og f.eks. å opprette en cronjobb som sender ut fakturaer.

Når vi får inn endringsønsker etter at faktura/hovedfaktura er sendt ut så er prosedyren:

  1. Kjør ut en kreditnota i sendregning, på hele den opprinnelige fakturaen. La den bli sendt på epost eller papir etter medlemmets ønske.
  2. Endre i medlemsregisteret til å si at den nye fakturaen ikke er laget, på bedriften og samtlige medlemmer tilnyttet den aktuelle bedriften.
  3. Legg inn endringene (utmelding/innmelding)
  4. Kjør fakturering på nytt.

Når endringsønsker kommer etter at faktura er betalt så er det bedre å sende tilleggsfaktura på den/de nye medlemmene.

Usenix-medlemskap kan ikke annulleres etter at det er betalt og rapportert. Send derfor ikke kreditnota på utmeldinger som kommer etter at faktura er betalt.

Utmelding

Ved utmelding sendes kreditnota på inneværende års kontingentfaktura, hvis den ikke allerede er betalt. Normalt gis ikke refundering av betalt kontingent. Kreditnota sendes aldri på tidligere års kontingent.

Hvordan sende ut faktura manuelt og ignorere rabatten?

Denne brukes når du vil generere innmelding.xml uten å ta hensyn til rabatten. Dette er nyttig for de som skal faktureres på slutten av inneværende år. Da vil normalt rabatt på 25% inntre da de ikke normalt vil bli med på USENIX før i april.

NB: Etter 1. september er medlemskap gratis ut året, og de får istedet full faktura for neste år ved den store årlige kontingentkjøringen i slutten av oktober. Ikke send dem egen faktura i perioden 1. september -- frem til den årlige kjøringen! En faktura generert i den perioden blir med feil år (inneværende år) fordi forberedelsene til neste års faktura må gjøres først, og blir gjort ifm. den årlige oktober-kjøringen.

../tools/medlemsliste-makeinvoices -i -F >innmelding.xml 

Opsjon -i angir å lage faktura bare for medlemmer som ikke har fått faktura allerede.

Send faktura manuelt slik:

../tools/sws-test -a send -t invoice -X innmelding.xml 

Oppdater fakturaperiode i medlemsliste og sjekk inn.

Sende ut purring

Påminnelse om manglende faktura ved hovedforfall. Dette gjøres i god tid før jul!!!

Forslag til faktura- og purrerutine:

  1. Hovedfakturering kjøres i slutten av oktober med 30 dagers betalingsfrist.
  2. Første purring kjøres ca. 1 uke etter forfall, etter at alle innbetalinger på forfall er registrert i medlemsregisteret.
  3. Ny purring ca 1 uke før rapporten til Usenix skal sendes (dvs. ca 20. desember).
  4. Siste purring kjøres i midten av januar.
  5. Senere purringer sendes etter behov, for å fange opp ubetalte fakturaer som er utsendt gjennom året.

cd nuug/styre
../tools/medlemsliste-dump -pmLE - for å se listen
../tools/medlemsliste-dump -pmLE > epostliste.txt
../tools/mass-mail mal-mangler-kontingent.txt epostliste.txt 

Purring fra Sendregning

En gang i året, når det er et lite antall ubetalte fakturaer, bør det sendes purring fra Sendregning. Denne går ut på papir og koster deretter (32 kroner per stykk), men betyr at man når medlemmer som av en eller annen grunn ikke mottar epost fra sendregning (spamfilter o.l.)

Oppskrift:

  1. Logg inn på sendregning.no.
  2. Velg "Beslutning kreves" i venstre kolonne.
  3. Trykk på knappen "Massepurring".
  4. Velg år og måned for hovedfaktureringen (se at antallet oppdateres - bør være under 30).
  5. Velg alle fakturaene (huk av til venstre for "Fakturanr.").
  6. Velg evt. bort de som ikke skal ha purring.
  7. Fyll inn en passende tekst i feltet nederst. For eksempel "Har du glemt å betale kontingenten for 2016? Gi oss beskjed hvis du ikke ønsker å være medlem.".
  8. Ikke velg "Purregebyr", "Renter" eller "Inkassovarsel".
  9. Trykk på knappen "Send purringer".
  10. Sjekk tilbakemelding, og sjekk en eller flere av fakturaene. (Under "Forsendelsesinformasjon" vises om purring er sendt.)

Hente ut PDF-utgaver av fakturaen til arkivet

for n in $(seq 2739 2912) ; do   ~/src/nuugcvs/nuug/tools/sws-test -d -x \     "<select><invoiceNumbers><invoiceNumber>$n</invoiceNumber></invoiceNumbers><format>PDF</format></select>"
mv output.pdf 2007-ut-faktura$n.pdf done 

Hente informasjon om betalte fakturaer

cd nuug/styre/
../tools/sws-test -d -x \     "<select>ALL<where><states><state>paid</state></states></where></select>" 

Registrer innbetalinger i medlemsregisteret

/!\ Denne metoden er ikke trygg, da den registrerte fakturaer som er trukket tilbake (med kredittnota) som om de er betalt.

cd nuug/styre/
../tools/medlemsliste-check -w   # Sjekk konsistensen i fila
../tools/sws-test -d -x \     "<select>ALL<where><states><state>paid</state></states></where></select>" > betalt.xml vi betalt.xml # Fjern alle innbetalinger som ikke gjelder inneværende kontingentperiode
../tools/medlemsliste-makeinvoices -p betalt.xml > foo && mv foo medlemsliste.csv
../tools/medlemsliste-check -w   # Sjekk konsistensen i fila
cvs commit -m "CVS_SILENT Registrert innbetalinger." medlemsliste.csv 

Et script som er litt sikrere og som slår opp fakturanummer kan brukes slik:

cd nuug/styre/
../tools/medlemsliste-regbetaling 1266 1336
cvs commit -m "CVS_SILENT Registrert innbetalinger (RT #1234)." medlemsliste.csv 

sekretariat/fakturering (last edited 2017-10-22 09:50:09 by JonPetterBjerke)