0. creeer een vosba gebruiker in het crm en configureer deze in de vosba-configs

let op: hele verhaal zonder crediteuren en relaties

king interface crm (progjes te vinden bij account cs10458 crassus (rscompany):

Controleer de juiste versies van het Uitgangssysteem
[ ] - vtiger 6.2.0 of hoger
[ ] - installatie vicus taalpakket met Override functie *Custom.php
[ ] - installatie van de custom-language functionaliteit
Extra optie
[ ] - vicus paymentsmodule (zie map vtiger_vosba/K2C_installatie/Payments-1.zip voor de module waarmee getest is)

Sectie A: Debiteuren vs Accounts/Contacts
1 Toevoegen Mandatory velden op Accounts en Contacts voor goede werking Vosba
1a. Mandatory velden maken op account en contact king informatie debiteur/crediteuren
dit zijn de vosba verplichte velden voor de interface met king

executeer in root crm-systeem:
- voor B2B
[ ] php addV2KAccountKingMandatory.php
[ ] php addV2KContactKingMandatory.php

- voor B2C
[ ] php addV2KContactKingMandatory.php

Vertalingen van de velden zijn opgenomen in:
[ ] languages/nl_nl/AccountsCustom.php
[ ] languages/nl_nl/ContactsCustom.php

Rechten en toegang aanpassen op de velden bij zowel Accounts als ContactsCustom
[ ] 'Debiteurnummer'; zichtbaar voor allen, ALLEEN wijzigen door VOSBA
[ ] 'Crediteurnummer'; zichtbaar voor allen, ALLEEN wijzigen door VOSBA
[ ] 'Is Debiteur'; opnemen in profielen naar behoefte klant
[ ] 'Is Crediteur'; opnemen in profielen naar behoefte klant
[ ] 'Laatste mutatie Vosba'; zichtbaar voor niemand, ALLEEN wijzigen door VOSBA

wishlist: toevoegen velden voor de King relaties

2 Toevoegen optionele velden account en contact
2a. Overige Kingvelden maken op account  tbv debiteur (!)
(crediteuren of relaties specifieke velden niet in het script)
dit zijn velden op de debiteur die wel in King maar niet in Vtiger voorkomen.

. installatie is nu geënt op B2B of B2C waarbij de debiteurinfo NIET op de contact vastgelegd wordt !! (vraag HdR voor uitleg bij vragen)
. King-vestigingsadres zit grotendeels in nieuwe velden
. King-correspondentieadres is samengevoegd met de Vtiger-billingaddress velden
. King-verzendadressen hebben specifieke complexiteit; wordt std niks mee gedaan

LETOP in het script zitten UI-Type=15 en UI-Type=16 velden. Het is raadzaam de opties gelijk aan te maken met het aanmaken van het veld.
Betreft: btw-codes, leveringscondities, betalingscondities, taalcodes, tegenrekening, valuta
Betreft NIET: aparte-facturen, facturen, factuuradres, verzendadres (die zijn door Kingvoorgeschreven)
Zelfde informatie is ook nodig om de tabel "permissable values" in de Vosba-installatie aan te vullen

executeer in root crm-systeem:
- voor B2B
[ ] php addV2KAccountKingOptional.php
[ ] php addV2KContactKingOptional.php (bestaat nog niet)

- voor B2C
[ ] php addV2KContactKingMandatory.php

Vertalingen van de velden zijn opgenomen in:
[ ] languages/nl_nl/AccountsCustom.php
[ ] languages/nl_nl/ContactsCustom.php (nog niet aangevuld)

Vtiger Studio
[ ] volgorde van velden in het algemene block fatsoeneren
[ ] Billingadres-velden verplaatsen naar Block Correspondentie-adres, en daar de volgorde fatsoeneren
[ ] profielen vrij in te regelen op basis van klantbehoefte


2b. straat adres gegevens voor account
De "street" velden in Vtiger zijn niet compatible met King (te lang & verkeerd ui-type
actie: aanpassen lengte straat velden op 40 chars en ui-type 1 <<== uitgeprobeerd in 6.3 maar dit werkt zo niet (V~O~LE~40)
[ ] Account: billstreet en shipstreet
[ ] Contact: mailingstreet en otherstreet

2c. contact extra velden contact k_* velden als voorvoegsel/gender etc
[ ] executeer in root crm-systeem: php addContactFields.php

- blocken op de juiste plek zetten
- controleer volgorde/plaatsing van de velden
- rechten inregelen naar behoefte klant

3. Vtiger king module install via module manager en configuratie
zie map vtiger_vosba/K2C_installatie/Kingadministration-1.zip voor de module waarmee getest is
[ ] voor elke King administratie een regel aanmaken

wishlist
- contact sequence nummers er uit (2x)
- Vtiger King user ???


4. workflowcode in modules/Workflow en workflow definitie in crm bij Workflows
deze zijn te vinden in k2cnr crm op de crassus (account crm)
- staan in installatie(/referentie)-pakket
[ ]  nog hardcoded: Soap2Vosba.php met het pad naar vosba <-- CORRIGEREN bij installatie
[ ] declareer vanaf de crm root de custom functies voor de workflows: php V2KWorkflowDeclareMethods.php (staat in mapje met install-scripts)

Creëer volgende workflows:
VERMOEDELIJK alleen met voorwaarde veld v_by_vosba (['LBL_v_by_vosba'] = 'Laatste mutatie Vosba') is NIET-GEZET
(niet helemaal zeker, maar die voorwaarde zie ik in de kode niet terug, ==> na test geconstateerd dat vermoeden waar is: dus extra workflows initiéren om de v_by_vosba weer op nul te zetten als die 1 is)

bij Accounts:
[ ] Handling On Creation	 Debiteuren	 Only on the first save met voorwaarde veld v_by_vosba (['LBL_v_by_vosba'] = 'Laatste mutatie Vosba') is NIET-GEZET
workflow roept aan: accountseq.inc
[ ] Handling On Modification	 Debiteuren	 Every time a record is modified	 met voorwaarde veld v_by_vosba (['LBL_v_by_vosba'] = 'Laatste mutatie Vosba') is NIET-GEZET
[ ] workflow on create om LBL_v_by_vosba op 0 te zetten als die geen 0 is
[ ] workflow on modified om LBL_v_by_vosba op 0 te zetten als die geen 0 is

bij Contacts:
[ ] Handling On Creation	 Contactpersonen	 Only on the first save	 met voorwaarde veld v_by_vosba (['LBL_v_by_vosba'] = 'Laatste mutatie Vosba') is NIET-GEZET
[ ] Handling On Modification	 Contactpersonen	 Every time a record is modified  met voorwaarde veld v_by_vosba (['LBL_v_by_vosba'] = 'Laatste mutatie Vosba') is NIET-GEZET
workflow roept aan: contactseq.inc
[ ] workflow on create om LBL_v_by_vosba op 0 te zetten als die geen 0 is
[ ] workflow on modified om LBL_v_by_vosba op 0 te zetten als die geen 0 is

Beetje uitleg:
beide workflows roept: send2king.php aan (note: komt wel aan in vosba, maar nog niet in king_debtor.xml)??? is hopelijk opgelost ???
en refereert aan: Soap2Vosba.php - hierin staat het pad naar vosba

Wat nodig is voor de workflows zit in de worflow map:
accountseq.inc
contactseq.inc
hopper/debtor/contacts.php
hopper/debtor/accounts.php
hopper/contacts.php
hopper/debtor.php
hopper/accounts.php
hopper.php
send2king.php
Soap2Vosba.php

Reviewed HdR tot hier.
Tested op http://crm.oskantoor.nl/k2cnr tot hier.


Sectie B : Export Vitiger-Invoices als King-Verkooporders.
1. export orders uit crm
dit is te vinden in cs10428 trajanus (riedijk)

extra velden voor de invoice als sent2king/datesent2king/jpsent2king
executeer in crm root:
php addInvoice.php

extra user aanmaken voor bevriezen facturen (bij riedijk bv user king supplementz)
rechten inregelen

in crm-map staat vtiger_vosba
php export.vtiger.facturen.php

deze includes 3 orderqueries (very very custom - gaat om het idee):
includes/Facturen/GetXML_King_OrderP.php
includes/Facturen/GetXML_King_OrderS.php
includes/Facturen/GetXML_King_OrderH.php

deze genereert een KING_ORDER_Supplementz.xml in de public_ftp/to_erp

vosba op de saturninus heeft een cronjob om de 5 minuten om te kijken of orderfiles in trajanus to_erp staan.
dit heet transfer.king.orders.php

als er orders op de trajanus staan, worden ze overgehaald naar vosba_data/temp/invoices op de saturninus.
op de trajanus worden deze overgehaalde orders verplaatst naar de to_erp/archive/YMDHS_*

hier wordt door transfer.king.orders.php evt. de nog niet door king verwerkte orderfiles die staan in de
public_ftp van de saturninus samengevoegd.

werkwijze:
a. in vosba_data/temp/invoices/KING_ORDER bestand staat filesize > 0, dan wordt in de to_erp op de saturninus
b. verwijder de public_ftp/to_erp/KING_ORDER file als er een .KING_ORDER file bestaat
c. lees de .KING_ORDER file in en plak de vosba_data/temp/invoices/KING_ORDER eraan vast.
d. schrijf deze weg als de nieuwe public_ftp/to_erp/.KING_ORDER (zonder hoofdtags)
e. schrijf deze weg als de nieuwe public_ftp/to_erp/KING_ORDER file
f. verwijder vosba_data/temp/invoices/KING_ORDER bestand

8. import betalingen in crm
installeer de paymentsmodule in crm

in vosba_vtiger map bij de crm installatie staat
import.king.betalingen.php

deze includes 1 query:
includes/Betalingen/king2vtiger_Betalingen.php

let op: deze creeert alleen een betaling als ie nog niet bestaat
todo: nieuw aan te maken v_erp_id bij de invoice voor de crossreference FactuurReferentieNummer

dit bestand heet: K2V_Betalingen.xml en staat in de map public_ftp/to_crm op de server waar het crm staat.
kortom niks via vosba....

wishlist: door king laten plaatsen op de vosba-omgeving (saturninus) en laten overzetten door vosba

9. export journaalposten uit crm
in vosba_vtiger map bij de crm installatie staat

export.vtiger.journaalposten.php
deze includes 3 queries (very very custom):
includes/JournaalPosten/GetXML_King_JpH.php
includes/JournaalPosten/GetXML_King_JpS.php
includes/JournaalPosten/GetXML_King_JpP.php

deze genereert een KING_JOURNAALPOSTEN_Supplementz.xml in de public_ftp/to_erp

vosba op de saturninus heeft een cronjob om de 5 minuten om te kijken of journaalposten files in trajanus to_erp staan.
dit heet transfer.king.journaalposten.php

als er journaalposten op de trajanus staan, worden ze overgehaald naar vosba_data/temp/journalposts op de saturninus.
op de trajanus worden deze overgehaalde orders verplaatst naar de to_erp/archive/YMDHS_*

letop: de extra velden voor de invoice als sent2king/datesent2king/jpsent2king moeten wel bestaan!
zie order export (punt 7)

