WeFact API versie 3.5



Facturen

Facturen zijn te beheren via de controller 'invoice'.



add

Middels deze functie kunt u een factuur aanmaken in WeFact. Geeft u mee dat de factuur status 'Concept' (= 0) moet krijgen, dient er geen 'InvoiceCode' meegegeven te worden.
Voorbeeldbestand: /voorbeelden/invoice/invoice.add.php


Invoerparameters:
Veldnaam Waarde Omschrijving
InvoiceCode string Het factuurnummer.
Geef deze parameter niet mee wanneer het factuurnummer automatisch bepaald mag worden.
Debtor int De unieke ID van een debiteur
DebtorCode string Het debiteurnummer
Date date De datum van de factuur
Term int Betaaltermijn in dagen
Discount float Korting (totale factuur): percentage 0 - 100
IgnoreDiscount '0' of '1' Kortingsmodule negeren (0 = nee en 1 = ja)
Standaard: 0
VatCalcMethod 'excl' of 'incl' BTW rekenen op basis van exclusief of inclusief BTW?
Standaard: gebruikt administratie instelling
ReferenceNumber string Referentie
CompanyName string Debiteur: bedrijfsnaam
Initials string Debiteur: voornaam
SurName string Debiteur: achternaam
Sex 'm', 'f', 'd' of 'fam' Debiteur: geslacht, standaard: 'm'
Address string Debiteur: adres
ZipCode string Debiteur: postcode
City string Debiteur: plaats
Country string Debiteur: land, zie variabelen-lijst
EmailAddress string Debiteur: e-mailadres
InvoiceMethod int Factuur verzendmethode, zie variabelen-lijst.
Standaard: voorkeur debiteur
SentDate datetime Verzenddatum factuur
Sent int Aantal keer verstuurd. Standaard: 0
LanguageCode string Huisstijl. Leeglaten betekent standaard huisstijl.
Authorisation 'yes' of 'no' Automatische incasso, standaard: voorkeur debiteur
PaymentMethod string Betaalmethode hoe de factuur is betaald, zie variabelen-lijst
Standaard: bankoverschrijving
PayDate date Betaaldatum
TransactionID string Transactie ID van (online) betaling
VatShift 'yes' of 'no' BTW verlegd. Standaard: wordt automatisch bepaald
Description string Factuur omschrijving
Comment text Interne notitie bij factuur
Status int Factuur status, zie variabelen-lijst.
Standaard: 0 (concept)
SubStatus string Blokkeer een concept factuur door "BLOCKED" mee te geven.
Pauzeer het betalingstraject van een verstuurde/deels betaalde factuur door "PAUSED" mee te geven.
CustomFields array array met eigen velden. De key van de array komt overeen met de veldcode, de value met de waarde
AccountingCostCentre string Code kostenplaats boekhoudpakket
Enkel beschikbaar indien geactiveerd.
AccountingProject string Code project boekhoudpakket
Enkel beschikbaar indien geactiveerd.
InvoiceLines array Factuurregel:
- Date date     Datum. Standaard: vandaag
- Number float     Aantal. Standaard: 1
- NumberSuffix string     Eenheid bijvoorbeeld: Kg.
- ProductCode string     Productnummer
- Description string     Omschrijving
- PriceExcl float     Prijs per stuk (excl. BTW)
- DiscountPercentage float     Korting factuurregel, percentage: 0 - 100
- DiscountPercentageType 'line' of 'subscription'     Type korting
    (enkel factuurregel of ook voor abonnement)
- TaxPercentage float     BTW percentage: 0 - 100
- StartDate date     Startdatum van de periode
- EndDate date     Einddatum van de periode
    Enkel in te geven als PeriodicType 'once' is.
- PeriodicType 'once' of 'period'     Periodiek factureren?
    Standaard: 'once' (eenmalig)
- Periods int     Factureer iedere: aantal periodes
- Periodic string     Factureer iedere: eenheid, zie variabelen-lijst
- AccountingCostCentre string     Code kostenplaats boekhoudpakket
    Enkel beschikbaar indien geactiveerd.
- AccountingProject string     Code project boekhoudpakket
    Enkel beschikbaar indien geactiveerd.
Verplichte velden: Debtor of DebtorCode en InvoiceLines (minimaal 1)

* Debiteurgegevens worden automatisch ingevuld door de variabele 'Debtor' of 'DebtorCode'.
** Factuurregel: Indien 'ProductCode' wordt meegegeven worden automatisch de 'Description', 'PriceExcl', 'TaxPercentage', 'PeriodicType', 'Periods', 'Periodic' en 'StartDate' ingevuld.

Voorbeeld invoer:
$api->sendRequest('invoice', 'add', array(
	'DebtorCode'	=> 'DB0001',
	
	'InvoiceLines'	=> array(
		array(
			'Number'	=> 3,
			'ProductCode'	=> 'P0001'
		),
		array(
			'Description'	=> 'Service contract',
			'PeriodicType'	=> 'period',
			'Periods' 	=> 3,
			'Periodic' 	=> 'm',
			'PriceExcl' 	=> 150,
		)
	)
));

Voorbeeld uitvoer:
Array
(
    [controller] => invoice
    [action] => add
    [status] => success
    [date] => 2014-05-16T14:44:11+00:00
    [invoice] => Array
        (
            [Identifier] => 1
            [InvoiceCode] => [concept]0001
            [Debtor] => 1
            [DebtorCode] => DB0001
            [Status] => 0
            [SubStatus] =>
            [Date] => 2014-05-16
            [Term] => 14
            [PayBefore] => 2014-05-30
            [AmountExcl] => 450.00
            [AmountTax] => 94.50
            [AmountIncl] => 544.50
            [AmountPaid] => 0.00
            [Discount] => 0
            [VatCalcMethod] => excl
            [IgnoreDiscount] => no
            [Coupon] => 
            [ReferenceNumber] => 
            [CompanyName] => Company X
            [Initials] => John
            [SurName] => Jackson
            [Sex] => m
            [Address] => Keizersgracht 100
            [ZipCode] => 1015 AA
            [City] => Amsterdam
            [Country] => NL
            [EmailAddress] => info@company.com
            [InvoiceMethod] => 0
            [SentDate] => 
            [Sent] => 0
            [LanguageCode] => nl_nl
            [Reminders] => 0
            [ReminderDate] => 
            [Summations] => 0
            [SummationDate] => 
            [Authorisation] => no
            [PaymentMethod] => wire
            [PayDate] => 
            [TransactionID] => 
            [Comment] => 
            [InvoiceLines] => Array
                (
                    [0] => Array
                        (
                            [Identifier] => 1
                            [Date] => 2014-05-16
                            [Number] => 3
                            [NumberSuffix] => 
                            [ProductCode] => P0001
                            [Description] => Consultancy
                            [PriceExcl] => 100
                            [DiscountPercentage] => 0
							[DiscountPercentageType] => line
                            [TaxPercentage] => 21
                            [PeriodicID] => 0
                            [Periods] => 1
                            [Periodic] => 
                            [StartDate] =>
                            [EndDate] =>
                        )

                    [1] => Array
                        (
                            [Identifier] => 2
                            [Date] => 2014-05-16
                            [Number] => 1
                            [NumberSuffix] => 
                            [ProductCode] => 
                            [Description] => Service contract
                            [PriceExcl] => 150
                            [DiscountPercentage] => 0
							[DiscountPercentageType] => line
                            [TaxPercentage] => 21
                            [PeriodicID] => 0
                            [Periods] => 1
                            [Periodic] => 
                            [StartDate] =>
                            [EndDate] =>
                        )

                )

            [PaymentURL] => 
            [Translations] => Array
                (
                    [Status] => Concept
                    [Country] => Nederland
                    [InvoiceMethod] => Per e-mail
                    [PaymentMethod] => bankoverschrijving
                    [LanguageLabel] => Nederlands
                )

        )

)