Differences between revisions 15 and 16
Revision 15 as of 2007-11-10 10:14:46
Size: 3863
Comment: Dokumenter hvordan innbetalinger oppdateres.
Revision 16 as of 2007-11-13 15:59:27
Size: 3874
Comment: Typo.
Deletions are marked like this. Additions are marked like this.
Line 78: Line 78:
~/src/nuugcvs/nuug/tools/sws-test -d -x \ cd nuug/styre/
..
/tools/sws-test -d -x \
Line 85: Line 86:
cd nuug/styre/
Line 93: Line 95:
}}}

Litt om NUUGs rutiner for fakturering av kontingent etc

NUUG bruker [http://www.sendregning.no 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 [http://www.nuug.no/styre/sendregning-implementasjonsguide.html her].

For å snakke med web services-grensesnittet til sendregning.no er [http://www.nuug.no/tools/sws-test 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 infomrasjonen i medlemsregisteret, og ZUsrFakturertPeriode forblir blankt eller oppdateres ikke:

  cd nuug/styre/
  cvs up medlemsliste.csv
  vi 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/
  cvs up medlemsliste.csv
  ../tools/medlemsliste-check -w # Sjekk konsistensen i fila
  ../tools/medlemsliste-makeinvoices -i > innmelding.xml
  # Test on sendregning.no aksepterer XML-filen
  ../tools/sws-test -n -d -a send -t invoice -X innmelding.xml
  ../tools/sws-test -d -a send -t invoice -X innmelding.xml # Send fakturaene
  # Oppdater ZUsrFakturertPeriode
  ../tools/medlemsliste-makeinvoices -u innmelding.xml > foo && mv foo medlemsliste.csv
  ../tools/medlemsliste-check -w # Sjekk konsistensen i fila
  cvs commit -m "CVS_SILENT Fakturert nye medlemer medlem." medlemsliste.csv

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. Peter 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 automatisere ennå mer, og f.eks. å opprette en cronjobb som sender ut fakturaer.

Alternativ faktureringsrutine:

cd nuug/styre/
../tools/medlemsliste-sendinvoices

Hente ut PDF-utgaver av fakturaen til arkivet

for n in 1001 1002 ;
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

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

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