> For the complete documentation index, see [llms.txt](https://docs.digit.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digit.org/works/reference-implementations/muktasoft-v2.2/specifications/functional-requirements/user-stories/rate-analysis/revising-rate.md).

# Revising Rate

## Scope

Writing the rate calculation logic and a scheduler to revise the rates for pending revise rate SORs on demand.

## Details <a href="#details" id="details"></a>

1. Search SOR is used to search and schedule the revision of rates.
2. It runs on demand and triggered by the user from pending rate revision screen.
3. User complete the rate revision of all required material, labour, and machinery SORs using edit SOR rate before calling for this JOB.
4. User search the works SORs which are to be revised.
5. User initiate the action by clicking on “Revise Rate” and select for the Effective Date for rates.
6. Revision rate JOB gets scheduled and runs in the back-end and only those SORs picked which has a different existing rate from calculated rate.
7. Revise rate scheduler runs in the back-ground, system generates the new rates and then link with the SOR with new effective date.
8. All the errors encountered during revision are captured and reported.
9. In case there is a rate already exists for same given effective date and existing rate is different from new generated rate, existing rate is inactivated and new rate is made effective from given effective date.
10. In case a rate exists from past effective date, existing rate is closed and new rate is added and made effective from given effective date.
11. In case no rate, new rate is generated and added from given effective date.
12. Users can see the progress and status of JOB from view rate revision JOBs screen.

### Actions <a href="#actions" id="actions"></a>

Revise Rate

On revise rate, all the components of rates are calculated and added/update to SOR.&#x20;

### Validations <a href="#validations" id="validations"></a>

1. All the validations applicable for add/edit SOR rates.
2. All the errors encountered are captured and reported.
3. For rates effective date should not be a date before current rate effective date.
4. Effective from time is always start of the day i.e. 00:00.&#x20;
5. Effective to date, the time is always 11:59:59.

### Configuration <a href="#configuration" id="configuration"></a>

The components/ heads defined to calculate the SOR rates are as given below.

1. Basic Rate
2. Conveyance
3. Royalty on Minerals
4. Environment Management Fund (EMF)
5. District Mineral Fund (DMF)
6. Additional Charges
7. Labour Cess

#### Calculation Logic

Basic Rate

1. Rate Analysis Basic Rate is calculated for the quantity define for analysis.
2. SOR Basic Rate = (Basic Rate\*Quantity defined for SOR)/ (Quantity defined for Rate Analysis).

Conveyance

1. Conveyance is calculated for the quantity define for analysis.
2. SOR Conveyance = (Conveyance\*Quantity defined for SOR)/ (Quantity defined for Rate Analysis).

Royalty on Minerals

1. Royalty is calculated for the quantity define for analysis.
2. SOR Royalty = (Royalty\*Quantity defined for SOR)/ (Quantity defined for Rate Analysis).

EMF

1. EMF is calculated for the quantity define for analysis.
2. SOR EMF= (EMF\*Quantity defined for SOR)/ (Quantity defined for Rate Analysis).

DMF

1. DMF is calculated for the quantity define for analysis.
2. SOR DMF= (DMF\*Quantity defined for SOR)/ (Quantity defined for Rate Analysis).

Additional Charges

1. Additional charges is calculated for the quantity define for analysis.
2. SOR Additional charges= (Additional charges\*Quantity defined for SOR)/ (Quantity defined for Rate Analysis).

Labour Cess

SOR Labour Cess = 1% of (SOR Basic Rate + SOR Conveyance + SOR Royalty + SOR EMF + SOR DMF + SOR Additional charges);

SOR Rate = Basic Rate + Conveyance + Royalty + EMF + DMF + Additional Charges + Labour Cess;

### Notifications <a href="#notifications" id="notifications"></a>

Not applicable

### User Interface <a href="#userinterface" id="userinterface"></a>

<figure><img src="/files/vJuVuyQ6BacAsB3pMJJL" alt=""><figcaption></figcaption></figure>

View Scheduled JOBs

<figure><img src="/files/OMLijskxHG8AEw1nAAC7" alt=""><figcaption></figcaption></figure>

## Acceptance Criteria <a href="#acceptancecriteria" id="acceptancecriteria"></a>

1. Scheduler runs when triggered by user.
2. It reports the issues found during execution.
3. View scheduled job screen is provided to view all the jobs.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.digit.org/works/reference-implementations/muktasoft-v2.2/specifications/functional-requirements/user-stories/rate-analysis/revising-rate.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
