edotco/microsoft.dynamics365.finance

1.4.0

Overview

The Microsoft Dynamics 365 Finance connector provides Ballerina with the capability to access Microsoft Dynamics 365 Finance and Operations OData REST API for data entities including customers, vendors, products, and financial data. This includes employee vendor management, expense claim processing, and payment confirmation tracking.

Setup guide

To use the Microsoft Dynamics 365 Finance connector, you need to have access to a Microsoft Dynamics 365 Finance environment with appropriate permissions.

Prerequisites

  1. Access to Microsoft Dynamics 365 Finance environment
  2. Valid authentication token (Bearer token)
  3. Appropriate permissions for the entities you want to access

Configuration

Copy
import ballerinax/microsoft.dynamics365.finance as d365finance;

d365finance:ConnectionConfig config = {
    auth: {
        token: "<your-bearer-token>"
    }
};

d365finance:Client d365Client = check new (config, "https://your-org.cloud.onebox.dynamics.com/data");

Quickstart

This guide demonstrates how to use the Microsoft Dynamics 365 Finance connector to perform basic operations.

Example: Create Employee Vendor

Copy
import ballerinax/microsoft.dynamics365.finance as d365finance;
import ballerina/io;

public function main() returns error? {
    d365finance:ConnectionConfig config = {
        auth: {
            token: "<your-bearer-token>"
        }
    };

    d365finance:Client d365Client = check new (config, "https://your-org.cloud.onebox.dynamics.com/data");

    // Create an employee vendor
    d365finance:EmployeeVendor employeeVendor = {
        dataAreaId: "usmf",
        VendorAccount: "P000219",
        FirstName: "Mimmie Melissa",
        LastName: "Binti Mohmad Haiyon",
        EmailAddress: "mimmiemelissa@edotcogroup.com",
        Language: "en-MY",
        CountryRegionId: "MYS",
        Currency: "MYR",
        Entity: "ECGR",
        CostCenter: "SS0400",
        EmployeeId: "11214",
        VendorType: "Person",
        IsEnabled: true
    };

    d365finance:EmployeeVendor result = check d365Client->createEmployeeVendor(employeeVendor);
    io:println("Employee vendor created: ", result);
}

Examples

The microsoft.dynamics365.finance connector provides practical examples illustrating usage in various scenarios:

1. Employee Vendor Management

Copy
// Create Employee Vendor
d365finance:EmployeeVendor employeeVendor = {
    dataAreaId: "usmf",
    VendorAccount: "P000219",
    FirstName: "John",
    LastName: "Doe",
    EmailAddress: "john.doe@company.com",
    Language: "en-US",
    CountryRegionId: "USA",
    Currency: "USD",
    Entity: "USMF",
    CostCenter: "CC001",
    EmployeeId: "EMP001",
    VendorType: "Person",
    IsEnabled: true
};

d365finance:EmployeeVendor createdVendor = check d365Client->createEmployeeVendor(employeeVendor);

2. Update Employee Profile Cost Center

Copy
// Update employee profile cost center
d365finance:EmployeeProfile profileUpdate = {
    CostCenter: "SS0500"
};

d365finance:EmployeeProfile updatedProfile = check d365Client->updateEmployeeProfile("user123", profileUpdate);

3. Create Concur Claim Journal

Copy
// Create expense claim journal
d365finance:ClaimJournal claimJournal = {
    dataAreaId: "usmf",
    VendorId: "P000219",
    TransactionDate: "2024-02-21",
    AccountType: "Vendor",
    AccountNumber: "P000219",
    InvoiceReportKey: "76318",
    DocumentDate: "2023-10-18",
    TextReportName: "ETAP Workshop in Malaysia",
    AmountDebit: 20556.54,
    AmountCredit: 17996.54,
    ExchangeRate: 1.0,
    DocumentNumber: "76318",
    EmployeeName: "Hasan, Md. Mahmudul"
};

d365finance:ClaimJournal createdJournal = check d365Client->createClaimJournal(claimJournal);

4. Get Payment Confirmations

Copy
// Get payment confirmations with filter
d365finance:GetPaymentConfirmationsQueries queries = {
    filter: "PaymentStatus eq 'Confirmed'",
    top: 50
};

d365finance:PaymentConfirmationsCollection confirmations = check d365Client->getPaymentConfirmations(queries = queries);

// Get specific payment confirmation
d365finance:PaymentConfirmation confirmation = check d365Client->getPaymentConfirmation("usmf", "PAY001");

5. Working with Existing APIs

Copy
// Get customers with cross-company query
d365finance:GetCustomersV3FieldListCrossCompanyGbsiUssiQueries customerQueries = {
    crossCompany: "true",
    filter: "(dataAreaId eq 'USSI' or dataAreaId eq 'GBSI')",
    selectFields: "dataAreaId,CustomerAccount,OrganizationName"
};

d365finance:CustomersV3Collection customers = check d365Client->getCustomersV3FieldListCrossCompanyGbsiUssi(queries = customerQueries);

// Get vendors
d365finance:GetVendorsV2CrossCompanyAllQueries vendorQueries = {
    crossCompany: "true",
    top: 100
};

d365finance:VendorsV2Collection vendors = check d365Client->getVendorsV2CrossCompanyAll(queries = vendorQueries);

Data Mappings

The connector supports the following key data mappings for employee vendor creation:

FieldSourceTarget FieldNotes
Employee IDUser AdministrationPhonetic firstCustom field mapping
First NameUser AdministrationFirst nameDirect mapping
Last NameUser AdministrationLast nameDirect mapping
Email AddressUser AdministrationEmail addressBoth System Admin and Accounts Payable
LanguageUser AdministrationLanguageDefault language setting
Country/RegionUser AdministrationCountry/regionLocation information
CurrencyUser AdministrationCurrencyReimbursement currency
EntityUser AdministrationEntityOrganization entity
Cost CenterUser AdministrationCost CenterDirect mapping
DivisionUser AdministrationInitialsCustom field mapping
DepartmentUser AdministrationKnown AsCustom field mapping
Job GradeUser AdministrationProfessional suffixCustom field mapping
Active StatusUser AdministrationEnabledSystem Administration access

Import

import edotco/microsoft.dynamics365.finance;Copy

Other versions

See more...

Metadata

Released date: 10 days ago

Version: 1.4.0

License: Apache-2.0


Compatibility

Platform: any

Ballerina version: 2201.12.7

GraalVM compatible: Yes


Pull count

Total: 68

Current verison: 27


Weekly downloads


Source repository


Keywords

Business Management/Finance

Cost/Paid

Vendor/Microsoft

Dynamics365

Finance


Contributors