WeFact Standard API versie 3.2



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
AmountPaid float Bedrag reeds betaald
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.
Reminders int Aantal keer betalingsherinneringen verstuurd. Standaard: 0
ReminderDate date Datum laatste betalingsherinnering
Summations int Aantal keer betalingsaanmaning verstuurd. Standaard: 0
SummationDate date Datum laatste betalingsaanmaning
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
- PeriodicType 'once' of 'period'     Periodiek factureren?
    Standaard: 'once' (eenmalig)
- Periods int     Aantal van de frequentie eenheid 'Periodic'
- Periodic string     Frequentie eenheid, zie variabelen-lijst
- StartPeriod date     Startdatum van de periode
- 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 'StartPeriod' 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] => 
                            [StartPeriod] => 
                            [EndPeriod] => 
                        )

                    [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] => 
                            [StartPeriod] => 
                            [EndPeriod] => 
                        )

                )

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

        )

)