Fakturering

Från Svenska kohanätverkets wiki
Hoppa till navigering Hoppa till sök

Beskrivning av Bibliotek Mellansjös faktureringsprocess

Bibliotek Mellansjös faktureringsprocess är lite halvmanuell, det är inte ett fullfjädrat faktureringssystem, utan slutresultatet är en pdf som går att ladda upp i kommunens ekonomisystem. Låntagaren ska få faktura från det bibliotek man lånade boken på, oavsett var den egentligen hör hemma.

vi har gjort följande inställningar i systempreferenserna:

DefaultLongOverdueChargeValue är tomt, eftersom vi inte vill att ersättningsbeloppet ksa synas i systemet

DefaultLongOverdueLostValue är tomt, eftersom vi vill ha kontroll över vilka böcker som blir fakturerade

MarkLostItemsAsReturned skulle vi helst vilja ha helt tomt, men tyvärr måste man välja något där, så vi har valt "from the holds to pull list". Vi vill nämligen att böckerna ska finnas kvar på låntagarens konto

Vi använder inte cronjobbet Long overdues

Pocessen består av fyra rapporter som körs i denna ordning:


1 Försenade böcker som inte har blivit fakturerade, för att leta i hyllan

Det första vi gör är att ta ut en lista på böcker som inte har blivit återlämnade, fast de är mer än 37 dagar sena, så vi kan leta efter dem i hyllan i fall vi missat att avregistrera dem i återlämningen.

SELECT  
branches.branchname AS Bibliotek,
items.ccode AS Samling,
items.location AS Placering,
items.itemcallnumber AS Hyllsignum,
biblio.author AS Författare,
biblio.title AS Titel,  
items.barcode AS Streckkod, 
items.itype AS Exemplartyp

FROM borrowers 
LEFT JOIN issues ON (borrowers.borrowernumber=issues.borrowernumber) 
LEFT JOIN items ON (issues.itemnumber=items.itemnumber) 
LEFT JOIN biblio ON (items.biblionumber=biblio.biblionumber) 
LEFT JOIN branches ON (items.homebranch=branches.branchcode)
WHERE (TO_DAYS(curdate())-TO_DAYS(date_due)) > '37' AND items.itemlost !=1 AND items.itemlost !=2 AND items.itemlost !=3 AND items.itemlost !=4 AND issues.branchcode = <<Utlånande bibliotek|branches>> AND issues.date_due BETWEEN <<Förfallodatum från|date>>-INTERVAL 1 DAY AND <<Förfallodatum till |date>>+INTERVAL 1 DAY
ORDER BY items.homebranch ASC,items.ccode ASC, items.location ASC, items.itemcallnumber ASC, biblio.author ASC,biblio.title ASC


2 Försenade böcker som inte har blivit fakturerade, med länk för att ändra status och spärra låntagaren

Nästa steg är att vi manuellt ändrar status till "På räkning" för de böcker som ska faktureras och att vi lägger in en spärr på låntagaren under Begränsningar

SELECT  
branches.branchname AS 'ägande bibliotek',
items.ccode AS samling,
items.location AS placering,
items.itemcallnumber AS hyllsignum,
biblio.author AS författare,
biblio.title AS titel,  
items.barcode As streckkod,
borrowers.cardnumber AS lånekortsnummer, 
borrowers.surname AS efternamn,
borrowers.firstname AS förnamn,
issues.date_due AS förfallodatum, 
items.itype AS exemplartyp,
CASE 
        WHEN items.itype = 'BARN LJUD' 
            THEN '100'
		WHEN items.itype = 'BARN TIDSK' 
            THEN '100'
		WHEN items.itype = 'BARNBOK' 
            THEN '100' 
        WHEN items.itype = 'BARNKORT' 
            THEN '100' 
		WHEN items.itype = 'BARNMP3' 
            THEN '100'
		WHEN items.itype = 'BLURAY' 
            THEN '600'
		WHEN items.itype = 'BOK'
            THEN '250'
		WHEN items.itype = 'BOKCD' 
            THEN '250'
		WHEN items.itype = 'BOKCDBARN' 
            THEN '100'
		WHEN items.itype = 'BOKDAISY' 
            THEN '250'
		WHEN items.itype = 'BOKDAISYBARN' 
            THEN '100'
		WHEN items.itype = 'BOKMP3' 
            THEN '250'
		WHEN items.itype = 'BOKMP3BARN' 
            THEN '100'
		WHEN items.itype = 'FILM'
            THEN '600'
		WHEN items.itype = 'KORTLON'
            THEN '250'
		WHEN items.itype = 'LJUDBOK'
            THEN '250'
		WHEN items.itype = 'MP3'
            THEN '250'
		WHEN items.itype = 'STORSTIL'
            THEN '250'
		WHEN items.itype = 'TIDSKRIFT'
            THEN '50'
		WHEN items.itype = 'TV-SPEL'
            THEN '600'
               WHEN items.itype = 'SPRAKKURS'
            THEN '600'
        ELSE 'Schablonpris saknas'
    END
    AS 'schablonpris',
items.replacementprice AS pris,
CONCAT('<a href=\"/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=', items.itemnumber, '&biblionumber=',biblio.biblionumber,'\" target="_blank">', items.barcode, '</a>' ) AS 'redigera status',
CONCAT('<a href=\"/cgi-bin/koha/members/moremember.pl?borrowernumber=', borrowers.borrowernumber, '#reldebarments','\" target="_blank">', borrowers.cardnumber, '</a>' ) AS 'Spärra låntagaren'


FROM borrowers 
LEFT JOIN issues ON (borrowers.borrowernumber=issues.borrowernumber) 
LEFT JOIN items ON (issues.itemnumber=items.itemnumber) 
LEFT JOIN biblio ON (items.biblionumber=biblio.biblionumber) 
LEFT JOIN branches ON (items.homebranch=branches.branchcode)
WHERE (TO_DAYS(curdate())-TO_DAYS(date_due)) > '37' AND items.itemlost !=1 AND items.itemlost !=2 AND items.itemlost !=3 AND items.itemlost !=4 AND issues.branchcode = <<Utlånande bibliotek|branches>> AND issues.date_due BETWEEN <<Förfallodatum från|date>>-INTERVAL 1 DAY AND <<Förfallodatum till|date>>+INTERVAL 1 DAY
ORDER BY borrowers.cardnumber ASC, items.homebranch ASC,items.ccode ASC, items.location ASC, items.itemcallnumber ASC, biblio.author ASC,biblio.title ASC