Aller au contenu principal

CustomerInvoice — Acomba

Entité unifiée FicheTransactions · entité native Acomba : Transaction.

Page générée, ne pas éditer — voir la version du dataset pour la provenance.

Voir aussi : page CustomerInvoice · QuickBooks Online · Avantage · Autotask · ProShop.

Opérations

OpérationStatutChamps exhaustifsFlagsLimitations
EXTRACT (GET)SupportéenonHeader AcoSDK.Invoicing036 (index/clés) + GetCard AcoSDK.Transaction030 pour la fiche complète. ; Un seul filtre indexé à la fois, sauf la paire NoFacture + CompteRecevable_No. ; Index Acomba : NoFacture=index 1, NoUniqueSystemeSource=GetCard direct, DateFacture=index 6, Fiche_DerniereModification=index 17. ; Filtres MontantNonPaye, Description, Référence, NoVendeur, NoTerritoire appliqués en post-extraction (en mémoire, non indexés). ; Lignes supprimées (ILStatus!=0) et transactions supprimées (InStatus!=0) exclues.
CREATE (POST)Supportéenonsimulate ; auto_fetch: CompteRecevable_No, TermeDePaiement, NoVendeur, NoTerritoire, NoProjet, NoModeExpedition, InfoClientNumérotation des lignes : 990 lignes au total maximum pour les produits (991 à 998 sont réservés par Acomba aux taxes/frais de transport). Le total compte les lignes inscrites PLUS les lignes vides laissées par les trous de numérotation : 913 lignes numérotées jusqu'à 1063 comptent pour 1063. Depuis v4.6.7, le SDK valide après conversion et refuse avec un message explicite ; un document plus volumineux doit être scindé. ; Pas de panachage (refusé depuis v4.6.7) : soit TOUTES les lignes de produits portent un NoLigneFacture, soit AUCUNE. Motif : pour une ligne laissée à 0, le SDK assigne la POSITION de la ligne dans la liste, pas le prochain numéro libre — mélanger les deux styles fait collisionner les numéros.
UPDATE (PUT)SupportéenonMême validation des numéros de lignes qu'au CREATE (990 lignes au total, numéros uniques, v4.6.7).
DELETE (DELETE)Non supportée
Liste de champs non exhaustive

Un champ absent du tableau est ? (inconnu), pas non supporté. En cas de doute, nous écrire.

Champs obligatoires à la création

DateFacture, TypeDoc, InfoClientFacturerA, InfoClientFacturerA.NoClient, LigneFacture.

Les autres champs créables sont facultatifs.

Champs

Champ unifiéChamp natifCREATEUPDATEEXTRACTFILTERRequisValeurs permisesNote
NoFactureInInvoiceNumberOKOKOKeq, inClé d'affaires (numéro de document). Au CREATE d'une Facture (TypeDoc=Factures) le numéro doit être VIDE (sinon erreur : utiliser UPDATE). Pour commande/soumission/achat un numéro peut être fourni, sinon ReserveCardNumber l'attribue. Filtre eq/in via index 1 (fetch immédiat, pas de limite Top).
NoUniqueSystemeSourceCardPosXOKOKeq, inCardPos Acomba (surrogate key). Renseigné en sortie après AddCard. Clé du ReserveCard pour l'UPDATE (UpdateTransaction). Filtre eq/in via GetCard direct.
DateFactureInDateOKOKOKge, gt, le, ltouiDate de transaction. Filtrage par plage via index 6.
Fiche_DerniereModificationInTimeModifiedXXOKge, gt, le, ltHorodatage système (Invoicing036/Transaction). Lecture et filtrage par plage via index 17 ; exige une version Acomba récente.
CompteRecevable_NoInReceivableOffsetOKOKOKeqCompte recevable (offset). En EXTRACT, filtre eq autorisé UNIQUEMENT en complément de NoFacture (forme la PKey de fetch). Au CREATE, override du recevable par défaut du client si entier valide.
TypeDocInInvoiceTypeOKOKOKouiFacturesType de document (Facture/Commande/Soumission/Achat). Détermine l'entité dispatchée (CustomerInvoice/CustomerOrder/CustomerBid/SupplierOrder). Au CREATE, forcé à Factures si non commande/achat/soumission.
SousTypeTransactionInTransactionTypeXXOKEXTRACT : libellé déduit du TransARType (Facture/Crédit/Surpaiement/Intérêt/Autres/Dépôt/Pénalité/Aucun).
EstActifInStatusXXOKCalculé : InStatus == 0. Les transactions supprimées (InStatus!=0) sont exclues de l'extraction.
RéférenceInReferenceOKOKOKeq, neTronqué à 30 caractères au CREATE. Filtre post-extraction (en mémoire) ; supporte aussi Contains/DoesntContains, hors vocabulaire fermé.
DescriptionInDescriptionOKOKOKeq, neTronqué à 255 caractères au CREATE. Filtre post-extraction (en mémoire) ; supporte aussi Contains/DoesntContains, hors vocabulaire fermé.
DateExpirationDocumentInDateMaxOKOKOKDate max / d'expiration du document.
NoSoumissionRéférenceInAssociatedBidOKOKOK
NoCommandeRéférenceInAssociatedOrderOKOKOK
NoCommandeRéférence_NoUniqueSystemeSourceInOrderCPOKOKXCardPos de la commande/soumission liée (conversion Order->Invoice). Poussé au CREATE ; en EXTRACT seul le backorder (InOrderCP) est exposé via ExtendedProperties[NoCommande_BackOrder].
TotalFactureInInvoiceTotalXXOKCalculé par Acomba (CalculateTaxes). En sortie après création.
SousTotalFactureInInvoiceSubTotalXXOKCalculé par Acomba. En sortie après création.
MontantNonPayeInAllPaidXXOKeq, ne, gt, ge, lt, leEXTRACT : initialisé au total, mis à 0 si InAllPaid!=0 ; valeur réelle calculée seulement si Expand=ListeReglement. Filtre post-extraction décimal.
FraisDeTransportInSales_Shipping[i]OKXOKEXTRACT : somme des lignes de transport / InSales_Shipping. CREATE : ajouté via AjouterFraisTransport (ligne IL_Shipping) si non nul.
Montant_MonnaieRecuInCashProvidedOKXOKAcoSDK.Transaction030.InCashProvided (arrondissement). Disponible selon version Acomba.
boolUtiliserMontantMonnaieRecuInUseCashProvidedOKXOK
Montant_RetraitInWithdrawalAmountOKXXPoussé au CREATE ; non relu dans ConvertirLaTransactionAcomba.
Montant_ChangeRemitInChangeReturnedOKXXPoussé au CREATE ; non relu dans ConvertirLaTransactionAcomba.
Montant_DepotInDepositIsPresentOKXXCREATE seulement, sur Commande : positionne InDepositIsPresent si dépôt non nul. Non relu.
NoVendeurInSalesRepNumberOKOKOKeq, neEXTRACT : résolu depuis InSalesRepCP (clé naturelle). CREATE : InSalesRepCP via _NoUniqueSystemeSource sinon InSalesRepNumber ; défaut = vendeur de la fiche client. Filtre post-extraction (aussi Contains/DoesntContains).
NoVendeur_NoUniqueSystemeSourceInSalesRepCPOKOKOK
Vendeur_NomCompletXXOKEXTRACT : résolu via GetSalesRepData (cache). Pas de membre natif direct sur la transaction.
NoTerritoireInTerritoryNumberOKOKOKeq, neEXTRACT : résolu depuis InTerritoryCP. CREATE : InTerritoryCP sinon InTerritoryNumber ; défaut = territoire de la fiche client. Filtre post-extraction (aussi Contains/DoesntContains).
NoTerritoire_NoUniqueSystemeSourceInTerritoryCPOKOKOK
NoProjetInProjectNumberOKOKOKProjet d'entête. CREATE : InProjectCP via _NoUniqueSystemeSource sinon InProjectNumber ; défaut = projet de la fiche client.
NoProjet_NoUniqueSystemeSourceInProjectCPOKOKOK
NoModeExpeditionInShippingNumberOKOKOKCREATE : InShippingCP via _NoUniqueSystemeSource sinon InShippingNumber ; défaut = mode d'expédition de la fiche client.
NoModeExpedition_NoUniqueSystemeSourceInShippingCPOKOKOK
NomModeExpeditionXXOKEXTRACT : résolu via GetShippingName(InShippingCP). Pas de membre natif direct.
CodeUsagerCreationInUniqueUserXXOKEXTRACT : nom d'usager résolu via GetUserName(InUniqueUser).
TermeDePaiement.NoTermeDePaiementInTermNumberOKOKOKAcoSDK.Transaction027.InTermNumber. CREATE : si fourni sert de PKey CustomerTerm, sinon CuTermNumber du client ; les détails (type, %, jours...) sont auto-fetchés depuis CustomerTerm.
TermeDePaiement.NomTermeDePaiementInTermDescriptionXXOKAuto-fetché depuis CustomerTerm au CREATE ; relu à l'extraction.
TermeDePaiement.TypeTermeInTermTypeXXOK
TermeDePaiement.EscompteJour_EscompteInTermPercentXXOK
TermeDePaiement.EscompteJour_NbJourInNumberOfDaysXXOK
TermeDePaiement.EscompteJour_NbJourMaxInDueDaysXXOK
InfoClientFacturerAOKOKOKouiSous-objet client a facturer (FicheClient), exige au CREATE. Objet agrege : ses membres sont decrits par les entrees InfoClientFacturerA.* ci-dessous, il n'a pas de membre natif propre.
InfoClientFacturerA.NoClientInCustomerSupplierCPOKOKOKouiClient SoldTo/facturé. CREATE : résolu en CardPos via NoClient (PKey_CuNumber) ou via NoUniqueSystemeSource ; gestion auto du Facturé-À (CuInvoicedToCP). Requis. Source EXTRACT : InInvoicedToCP/InCustomerSupplierCP.
InfoClientFacturerA.NoUniqueSystemeSourceInCustomerSupplierCPOKOKOKCardPos du client facturé.
InfoClientFacturerA.NomClientInNameOKOKOKSi seul NoClient fourni (adresse/ville/nom/CP vides), boolInfoClientFacturerA_ForcerInfoAcomba récupère les infos depuis la fiche client Acomba.
InfoClientFacturerA.AdresseInAddressOKOKOK
InfoClientFacturerA.VilleInCityOKOKOK
InfoClientFacturerA.CodePostalInPostalCodeOKOKOK
InfoClientFacturerA.PaysInISOCountryCodeOKOKOK
InfoClientFacturerA.NomPersonneContactInCareOfOKOKOK
InfoClientFacturerA.ListeTelephonique[].NumeroInPhoneNumber[PhoneType]OKOKOKTéléphones indexés Ph_Number/Ph_Fax/Ph_User1/Ph_User2 (+ InPhoneDescription, InPhoneExtention).
InfoClientLivrerA.NoClientInCustomerSupplierNumberOKOKOKClient ShipTo/livré. EXTRACT : déduit (égal au SoldTo si pas de livraison distincte ; vide pour les achats).
InfoClientLivrerA.NomClientInShipNameOKOKOK
InfoClientLivrerA.AdresseInShipAddressOKOKOK
InfoClientLivrerA.VilleInShipCityOKOKOK
InfoClientLivrerA.CodePostalInShipPostalCodeOKOKOK
InfoClientLivrerA.PaysInShipISOCountryCodeOKOKOK
InfoClientLivrerA.NomPersonneContactInShipCareOfOKOKOK
InfoClientLivrerA.ListeTelephonique[].NumeroInShipPhoneNumber[PhoneType]OKOKOKTéléphones de livraison indexés (+ InShipPhoneDescription, InShipPhoneExtention).
LigneFactureOKOKOKouiCollection des lignes de la facture (LigneTransactions). Au moins une ligne est exigee au CREATE. Objet agrege : ses membres sont decrits par les entrees LigneFacture[].* ci-dessous.
LigneFacture[].strNoProduitILProductNumber[i]OKOKOKNuméro de produit. CREATE : résolu via Product.PKey_PrNumber (alimente ILProductCP, groupe, prix si demandé).
LigneFacture[].strNoProduit_NoUniqueSystemeSourceILProductCP[i]OKOKOK
LigneFacture[].strNoGroupeProduitILProductGroupNumber[i]OKOKOKCREATE : ILProductGroupCP via _NoUniqueSystemeSource sinon résolu depuis ILProductGroupNumber (obligatoire si la ligne n'est pas un commentaire et que le produit n'a pas de groupe).
LigneFacture[].strNoGroupeProduit_NoUniqueSystemeSourceILProductGroupCP[i]OKOKOK
LigneFacture[].DescriptionLigneILDescription[i]OKOKOKTronqué à 90 caractères au CREATE ; caractères de contrôle nettoyés.
LigneFacture[].QteFactureILInvoicedQty[i]OKOKOK
LigneFacture[].QteCommandeILOrderedQty[i]OKOKOK
LigneFacture[].PrixOrigILPriceBeforeDiscount[i]OKOKOKPrix avant rabais. CREATE écrit aussi ILOriginalPrice (Transaction030). Auto-résolu (prix selon niveau client) si bool_ChercherLesPrixSelonClient.
LigneFacture[].PrixFinalILSellingPrice[i]OKOKOKPrix de vente final.
LigneFacture[].PrixCoutantILCost[i]OKOKOK
LigneFacture[].MontantRabais_pctILDiscountPercent[i]OKOKOKPourcentage 0-99.99 ; natif = pct x 100. Recalcule PrixOrig/PrixFinal si l'un manque.
LigneFacture[].NoLigneFactureILLineNumber[i]OKOKOKPlage permise 1 à 990 (lignes de produits) ; 991 à 998 sont réservés par Acomba aux taxes et frais de transport. 0 = pas de numéro imposé : le SDK assigne alors la POSITION de la ligne dans la liste, pas le prochain numéro libre — d'où l'interdiction de panacher lignes numérotées et lignes à 0 (v4.6.7). Les trous de numérotation comptent comme des lignes vides dans le total de 990.
LigneFacture[].TypeLigneILType[i]OKOKOKLignes standard et taxes traitées ; lignes système/transport gérées à part. Lignes supprimées (ILStatus!=0) ignorées.
LigneFacture[].NoUniqueSystemeSourceCardPosXXOKEXTRACT : CardPos de la ligne via AcoSDK.InvoicingLine022.
LigneFacture[].NoCompteGLILCharterNumberXXOKEXTRACT : résolu depuis ILCharterCP (QuickFetch). Compte GL de l'affectation.
LigneFacture[].NoCompteGL_NoUniqueSystemeSourceILCharterCP[i]OKXOKCREATE : ILCharterCP utilisé pour la ligne de transport (compte GL transport).
LigneFacture[].NoProjetILProjectNumber[i]OKOKOK
LigneFacture[].NoProjet_NoUniqueSystemeSourceILProjectCP[i]OKOKOK
LigneFacture[].NoProduitFournisseur_NoUniqueSystemeSourceILProductSupplierCP[i]OKOKX
LigneFacture[].MustHideInvoicingLineToFinalPrintingILBypassPrinting[i]OKOKX
LigneFacture[].BackOrderPermitILKeepBO[i]OKOKXConservation du backorder (défaut OUI). Lié à ctrl_AllowOrderCreationOnInsufficientStock.
LigneFacture[].NoSerieProduit_NoUniqueSystemSourceILProductCPLinkedToSerialNumber[i]OKOKXNuméro de série ; ILSerialNumberType déduit (Sale/Purchase/Return/Credit) selon type doc et signe quantité.
LigneFacture[].ItemProduit_NoUniqueSystemeSourceILProductItemCP[i]OKOKX
LigneFacture[].Caracteristique01_NoILProductItemCategory[i,1]OKOKXSegments/items produit (3 catégories ILProductItemCategory + ILProductItemDescriptor).
LigneFacture[].Montant_SousTotalLigneILTotalAmount[i]XXOK
ExtendedPropertiesXXOKEXTRACT : ExtendedProperties[NoCommande_BackOrder] rempli si la facture a généré une commande backorder (InOrderCP).

Axes : OK supporté · X non supporté · ~ partiel · DEPR déprécié · EXP expérimental · ? inconnu.

Opérateurs en syntaxe $filter : eq égal · ne différent · gt/ge plus grand (ou égal) · lt/le plus petit (ou égal) · in dans une liste (InList) · contains contient · startswith commence par · non filtrable.

Expands (sous-objets extractibles)

Expand unifiéType natifStatutNote
ListeReglementSupportéePaiements de la facture (GetPaiement par CardPos). Recalcule MontantNonPaye = TotalFacture - somme(escompte+paiement).
ProductGroup_PurchaseGlAccountPGPurchaseAccountNumberSupportéeJoint les comptes GL d'achat des groupes de produits (AcoSDK.ProductGroup.PGPurchaseAccountNumber, jusqu'à 5) aux lignes.

Notes

Vue FACTURATION de la facture client : DTO unifié FicheTransactions, natif AcoSDK.Transaction (header indexé AcoSDK.Invoicing036 + fiche complète AcoSDK.Transaction030/ITransaction ; lignes via AcoSDK.InvoicingLine022). Les lignes (LigneFacture) sont des lignes de PRODUITS. À distinguer de CustomerARInvoice (vue comptable TransAR : lignes = affectations GL).

Dispatch (AcombaSDK_GlobalInterfacor.cs / AcombaSDK_ExtractManager.cs) :

  • EXTRACT -> GetInvoices.ExtractByQuerySettings (entité CustomerInvoice/CustomerOrder/CustomerBid/SupplierOrder).
  • CREATE/UPDATE -> SetInvoices.CreateTransactionFromERPConnectorTask. Le payload est enveloppé { FACTURE: <FicheTransactions>, ListeModePaiements: [...], OptionsSpecialesFacture: {...} }.
  • DELETE = unsupported (NotImplementedException global SDK).

CREATE vs UPDATE : la création d'une Facture exige NoFacture VIDE (CreationFacture refuse un numéro déjà assigné) ; un numéro existant relève de l'UPDATE (UpdateTransaction par CardPos/NoUniqueSystemeSource, ModifyCard). Pour commande/soumission/achat un numéro peut être fourni (ReserveCardNumber sinon).

simulate : header *SIMULATE_ONLY=TRUE -> CreationFacture(param_SkipAcombaCreation=true) calcule les taxes et les totaux sans AddCard ; rien n'est créé dans Acomba.

auto_fetch : si InfoClientFacturerA ne contient qu'un NoClient, les coordonnées sont récupérées de la fiche client Acomba ; le compte recevable (CompteRecevable_No), le terme de paiement et ses détails, le vendeur, le territoire, le projet et le mode d'expédition par défaut sont hérités de la fiche client si non fournis ; les prix de ligne sont résolus selon le niveau de prix du client si demandé.

Filtres EXTRACT : un seul filtre indexé à la fois, sauf la paire NoFacture + CompteRecevable_No. MontantNonPaye, Description, Référence, NoVendeur et NoTerritoire sont des filtres POST-EXTRACTION (évalués en mémoire). Les opérateurs Contains/DoesntContains existent dans le code mais sortent du vocabulaire fermé (eq/ne/in/gt/gte/lt/lte/startswith) et ne sont donc pas listés.

Liste de champs NON exhaustive (fields_exhaustive: false). 'sdk:' à null pour les champs calculés / résolus (Vendeur_NomComplet, NomModeExpedition, ExtendedProperties...) sans membre natif direct.

Cette page vous a-t-elle été utile ?