Allowance and charge reason codes

The values reasonCode takes on an allowance or a charge, in each country. In the UAE you send a value such as advertising; in every other country you send the code itself, such as AA.

A reason code says why a discount (an allowance) or an extra cost (a charge) was added to an invoice. GETS takes it in two fields:

  • allowancesAndCharges[].reasonCode, for an allowance or charge on the whole document
  • lineItems[].discountsOrCharges[].reasonCode, for an allowance or charge on one line

isCharge decides which list the code comes from. With isCharge: true the entry is a charge, and its reason comes from the charge reasons list (UNCL 7161). With isCharge: false it is an allowance, and its reason comes from the allowance reasons list (UNCL 5189). Put a description in your own words in reason.

What to send in each country

CountrySendExample
United Arab EmiratesThe value in the Send in the UAE columnadvertising
Saudi Arabia, Oman, Malaysia, Belgium, GermanyThe code itselfAA

In the UAE, send the value, not the code. Complyance writes the matching code into the e-invoice for you. A code such as AA is rejected with IBR-CL-20 on a charge or IBR-CL-19 on an allowance. An allowance or charge whose taxCategory is E must have a reason code (IBR-168-AE, IBR-169-AE).

In every other country, the code goes into the e-invoice unchanged, so it must be a code from the list. In Saudi Arabia every document-level charge needs a reason code (BR-KSA-19), and a charge code outside the list returns the warning BR-KSA-CL-06. In Oman every document-level charge needs a reason code (IBR-042-OM).

A charge on a line in the UAEjson
"lineItems": [
  {
    "id": "1",
    "name": "Cloud subscription — Business plan",
    "quantity": 20,
    "unitCode": "PCE",
    "price": { "amount": 100, "grossPrice": 100 },
    "discountsOrCharges": [
      {
        "isCharge": true,
        "reasonCode": "rush_delivery",
        "reason": "Express shipping",
        "amount": 50
      }
    ],
    "lineTaxableValue": 2050,
    "taxCategory": "S",
    "taxRate": 5,
    "taxAmount": 102.5
  }
]
The same charge in Saudi Arabia, Oman, Malaysia, Belgium or Germanyjson
"discountsOrCharges": [
  {
    "isCharge": true,
    "reasonCode": "AAT",
    "reason": "Express shipping",
    "amount": 50
  }
]

A line charge is part of the line’s net amount, so lineTaxableValue (here 20 × 100 + 50) and the line’s tax include it, and so do the document totals. Use the tax category and rate that apply in each country; see the field reference.

Charge reasons

UNCL 7161, version D.16B. Use these when isCharge is true.

178 of 178 charge reasons

CodeSend in the UAEName
AAadvertisingAdvertising
AAAtelecommunicationTelecommunication
AACtechnical_modificationTechnical modification
AADjob_order_productionJob-order production
AAEoutlaysOutlays
AAFoff_premisesOff-premises
AAHadditional_processingAdditional processing
AAIattestingAttesting
AASacceptanceAcceptance
AATrush_deliveryRush delivery
AAVspecial_constructionSpecial construction
AAYairport_facilitiesAirport facilities
AAZconcessionConcession
ABAcompulsory_storageCompulsory storage
ABBfuel_removalFuel removal
ABCinto_planeInto plane
ABDovertimeOvertime
ABFtoolingTooling
ABKmiscellaneousMiscellaneous
ABLadditional_packagingAdditional packaging
ABNdunnageDunnage
ABRcontainerisationContainerisation
ABScarton_packingCarton packing
ABThessian_wrappedHessian wrapped
ABUpolyethylene_wrap_packingPolyethylene wrap packing
ACFmiscellaneous_treatmentMiscellaneous treatment
ACGenamelling_treatmentEnamelling treatment
ACHheat_treatmentHeat treatment
ACIplating_treatmentPlating treatment
ACJpaintingPainting
ACKpolishingPolishing
ACLprimingPriming
ACMpreservation_treatmentPreservation treatment
ACSfittingFitting
ADCconsolidationConsolidation
ADEbill_of_ladingBill of lading
ADJairbagAirbag
ADKtransferTransfer
ADLslipsheetSlipsheet
ADMbindingBinding
ADNrepair_or_replacement_of_broken_returnable_packageRepair or replacement of broken returnable package
ADOefficient_logisticsEfficient logistics
ADPmerchandisingMerchandising
ADQproduct_mixProduct mix
ADRother_servicesOther services
ADTpick_upPick-up
ADWchronic_illnessChronic illness
ADYnew_product_introductionNew product introduction
ADZdirect_deliveryDirect delivery
AEAdiversionDiversion
AEBdisconnectDisconnect
AECdistributionDistribution
AEDhandling_of_hazardous_cargoHandling of hazardous cargo
AEFrents_and_leasesRents and leases
AEHlocation_differentialLocation differential
AEIaircraft_refuelingAircraft refueling
AEJfuel_shipped_into_storageFuel shipped into storage
AEKcash_on_deliveryCash on delivery
AELsmall_order_processing_serviceSmall order processing service
AEMclerical_or_administrative_servicesClerical or administrative services
AENguaranteeGuarantee
AEOcollection_and_recyclingCollection and recycling
AEPcopyright_fee_collectionCopyright fee collection
AESveterinary_inspection_serviceVeterinary inspection service
AETpensioner_servicePensioner service
AEUmedicine_free_pass_holderMedicine free pass holder
AEVenvironmental_protection_serviceEnvironmental protection service
AEWenvironmental_clean_up_serviceEnvironmental clean-up service
AEXnational_cheque_processing_service_outside_account_areaNational cheque processing service outside account area
AEYnational_payment_service_outside_account_areaNational payment service outside account area
AEZnational_payment_service_within_account_areaNational payment service within account area
AJadjustmentsAdjustments
AUauthenticationAuthentication
CAcataloguingCataloguing
CABcartageCartage
CADcertificationCertification
CAEcertificate_of_conformanceCertificate of conformance
CAFcertificate_of_originCertificate of origin
CAIcuttingCutting
CAJconsular_serviceConsular service
CAKcustomer_collectionCustomer collection
CALpayroll_payment_servicePayroll payment service
CAMcash_transportationCash transportation
CANhome_banking_serviceHome banking service
CAObilateral_agreement_serviceBilateral agreement service
CAPinsurance_brokerage_serviceInsurance brokerage service
CAQcheque_generationCheque generation
CARpreferential_merchandising_locationPreferential merchandising location
CAScraneCrane
CATspecial_colour_serviceSpecial colour service
CAUsortingSorting
CAVbattery_collection_and_recyclingBattery collection and recycling
CAWproduct_take_back_feeProduct take back fee
CAXquality_control_releasedQuality control released
CAYquality_control_heldQuality control held
CAZquality_control_embargoQuality control embargo
CDcar_loadingCar loading
CGcleaningCleaning
CScigarette_stampingCigarette stamping
CTcount_and_recountCount and recount
DABlayout_designLayout/design
DACassortment_allowanceAssortment allowance
DADdriver_assigned_unloadingDriver assigned unloading
DAFdebtor_boundDebtor bound
DAGdealer_allowanceDealer allowance
DAHallowance_transferable_to_the_consumerAllowance transferable to the consumer
DAIgrowth_of_businessGrowth of business
DAJintroduction_allowanceIntroduction allowance
DAKmulti_buy_promotionMulti-buy promotion
DALpartnershipPartnership
DAMreturn_handlingReturn handling
DANminimum_order_not_fulfilled_chargeMinimum order not fulfilled charge
DAOpoint_of_sales_threshold_allowancePoint of sales threshold allowance
DAPwholesaling_discountWholesaling discount
DAQdocumentary_credits_transfer_commissionDocumentary credits transfer commission
DLdeliveryDelivery
EGengravingEngraving
EPexpeditingExpediting
ERexchange_rate_guaranteeExchange rate guarantee
FAAfabricationFabrication
FABfreight_equalizationFreight equalization
FACfreight_extraordinary_handlingFreight extraordinary handling
FCfreight_serviceFreight service
FHfilling_handlingFilling/handling
FIfinancingFinancing
GAAgrindingGrinding
HAAhoseHose
HDhandlingHandling
HHhoisting_and_haulingHoisting and hauling
IAAinstallationInstallation
IABinstallation_and_warrantyInstallation and warranty
IDinside_deliveryInside delivery
IFinspectionInspection
IRinstallation_and_trainingInstallation and training
ISinvoicingInvoicing
KOkosheringKoshering
L1carrier_countCarrier count
LAlabellingLabelling
LAAlabourLabour
LABrepair_and_returnRepair and return
LFlegalisationLegalisation
MAEmountingMounting
MImail_invoiceMail invoice
MLmail_invoice_to_each_locationMail invoice to each location
NAAnon_returnable_containersNon-returnable containers
OAoutside_cable_connectorsOutside cable connectors
PAinvoice_with_shipmentInvoice with shipment
PAAphosphatizing_steel_treatmentPhosphatizing (steel treatment)
PCpackingPacking
PLpalletizingPalletizing
PRVprice_variationPrice variation
RABrepackingRepacking
RACrepairRepair
RADreturnable_containerReturnable container
RAFrestockingRestocking
REre_deliveryRe-delivery
RFrefurbishingRefurbishing
RHrail_wagon_hireRail wagon hire
RVloadingLoading
SAsalvagingSalvaging
SAAshipping_and_handlingShipping and handling
SADspecial_packagingSpecial packaging
SAEstampingStamping
SAIconsignee_unloadConsignee unload
SGshrink_wrapShrink-wrap
SHspecial_handlingSpecial handling
SMspecial_finishSpecial finish
SUset_upSet-up
TABtank_rentingTank renting
TACtestingTesting
TTtransportation_third_party_billingTransportation - third party billing
TVtransportation_by_vendorTransportation by vendor
V1drop_yardDrop yard
V2drop_dockDrop dock
WHwarehousingWarehousing
XAAcombine_all_same_day_shipmentCombine all same day shipment
YYsplit_pick_upSplit pick-up
ZZZmutually_definedMutually defined

Allowance reasons

UNCL 5189, version D.16B. Use these when isCharge is false.

19 of 19 allowance reasons

CodeSend in the UAEName
41bonus_for_works_ahead_of_scheduleBonus for works ahead of schedule
42other_bonusOther bonus
60manufacturers_consumer_discountManufacturer's consumer discount
62due_to_military_statusDue to military status
63due_to_work_accidentDue to work accident
64special_agreementSpecial agreement
65production_error_discountProduction error discount
66new_outlet_discountNew outlet discount
67sample_discountSample discount
68end_of_range_discountEnd-of-range discount
70incoterm_discountIncoterm discount
71point_of_sales_threshold_allowancePoint of sales threshold allowance
88material_surcharge_deductionMaterial surcharge/deduction
95discountDiscount
100special_rebateSpecial rebate
102fixed_long_termFixed long term
103temporaryTemporary
104standardStandard
105yearly_turnoverYearly turnover

The UAE code lists page has both lists with their full descriptions, and a CSV download of each.

Last updated