Differences between revisions 44 and 45
Revision 44 as of 2022-10-28 10:02:56
Size: 10187
Comment:
Revision 45 as of 2022-10-29 09:20:29
Size: 10208
Comment:
Deletions are marked like this. Additions are marked like this.
Line 163: Line 163:
cd ~/githome/styre-web
../nuug-web/tools/medlemsliste-regbetaling 1266 1336
git pull
git commit -m "Registrert innbetalinger (RT #1234)." medlemsliste.csv
git push
$ cd ~/githome/styre-web
$ git pull
$
../nuug-web/tools/medlemsliste-regbetaling 1266 1336
$ git commit -m "Registrert innbetalinger (RT #1234)." medlemsliste.csv
$ git pull
$
git push
Line 170: Line 171:
 * Forutsetter at innnbetalingen allerede er registrert i Sendregning. Ved innbetalinger uten KID må de registreres manuelt i Sendregning først.  * Forutsetter at innbetalingen allerede er registrert i Sendregning. Ved innbetalinger uten KID må de registreres manuelt i Sendregning først.

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.

  • generering av fakturagrunnlag
  • mer?

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.
../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. Ekstramedlem under bedrift etter hovedfaktureringen går vanligvis bra, men endringer håndteres ikke korrekt. Endringer i medlemsliste.csv må alltid være sjekket inn før -sendinvoices kjøres.

For å sende fakturaer uten rabatt, bruk opsjon -F til medlemsliste-makeinvoices, og argumentet "nodisc" til medlemsliste-sendinvoices:

cd nuug/styre/
../tools/medlemsliste-makeinvoices -i -F | less   # sjekk at fakturainformasjonen er korrekt.
../tools/medlemsliste-sendinvoices nodisc

Folk i utlandet fungerer ikke alltid. 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?

Skriptet sendinvoices kan også brukes til dette (se ovenfor).

Alternativt kan man bruke den manuelle prosessen nedenfor.

Dette 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.

Dette er også nyttig med sene medlemmer som ikke får gjennomført fornyelse av kontingent før nyttår, og/eller trenger ny faktura eller medlemskategori etc. etter nyttår.

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
  • Alternativt kan du editere innmelding.xml manuelt. Dette gjør du også hvis du må legge til en ekstra linje med info.

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

Før innsending må det rettes i innmelding.xml:

På linjen <invoices batchId="2013_13"> erstattes "2013_13" med f.eks. nåværende tidspunkt "2019-12-27T09:37" (kan være hva som helst bare koden ikke er brukt tidligere).

Send faktura manuelt slik:

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

Oppdater fakturaperiode i medlemsliste og sjekk inn.

  • Ferdig!

NB: Husk å oppdatere manuelt i medlemsliste.csv at faktura er sendt! (Legg inn dato for utløp av fakturert medlemsår.) Hvis ikke, så tror skriptene makeinvoices (og sendinvoices) ved neste normale kjøring at de skal sende enda en faktura til medlemmet! Ved bedriftsmedlem skal denne datoen settes for både bedriften og alle de tilknyttende personene.

Mulig feil med xml i sws-test: Hvis sws-test feiler med melding "HTTP post returned failure - 409 Conflict", så bytt ut opsjon "-a send" til sws-test med opsjon "-d" og prøv kommandoen igjen. Altså slik:

../tools/sws-test -d -t invoice -X innmelding.xml

-d betyr debug. Denne versjonen av kommandoen sender altså ikke faktura til medlemmet, men brukes for å få info om hva som gikk galt med kjøringen av skriptet. Hvis feilen er knyttet til Batch-ID så må denne rettes i xml-filen, og sws-test kjøres igjen med "-a send" opsjon. (Foregående setning er "gammel info", se oppdatering før "Ferdig!" høyere opp ovenfor.)

Merknad: I dag 2021-01-21 fungerer ikke denne testen, men normal fakturering som ovenfor fungerer.

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 ~/githome/styre-web
$ git pull
$ ../nuug-web/tools/medlemsliste-regbetaling 1266 1336
$ git commit -m "Registrert innbetalinger (RT #1234)." medlemsliste.csv
$ git pull
$ git push
  • Funket ikke på UIO 101073 november 2012. Den ser ut til å sette _alle_ bedriftsmedlemmer betalt, selv om de er utmeldt. Den vil ikke sjekke
  • Forutsetter at innbetalingen allerede er registrert i Sendregning. Ved innbetalinger uten KID må de registreres manuelt i Sendregning først.

sekretariat/fakturering (last edited 2022-10-29 09:20:29 by JonPetterBjerke)